Git

Git

Git 起步

Git 基础

  • 直接记录快照,而非差异记录
  • 近乎所有操作都是本地执行
  • 时刻保持数据完整性
  • 多数操作仅添加数据
  • 文件的三种状态(committed,modified,staged)
    已提交表示该文件已经被安全地保存在本地数据库中了;已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中。
    由此我们看到 Git 管理项目时,文件流转的v三个工作区域:Git 的工作目录,暂存区域,以及本地仓库。


    Git_第1张图片
    工作目录,暂存区域,以及本地仓库

Git 基础

记录每次更新到仓库

Git_第2张图片
image

忽略某些文件

创建 .gitignore

  • 所有空行或者以注释符号 # 开头的行都会被 Git -忽略。
  • 可以使用标准的 glob 模式匹配。
  • 匹配模式最后跟反斜杠(/)说明要忽略的是目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。星号(*)匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。

查看提交历史

选项 说明
%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明
v

撤销操作

git commit -- amend

远程仓库

git remote
git remote -v

添加远程仓库

git remote add [shortname] [url]

从远程仓库抓取数据

git fetch [remote-name]
git pull

推送数据到远程仓库

git push [remote-name] [branch-name]

查看远程仓库信息

git remote show [remote-name]

远程仓库的删除和重命名

git remote rename

Git 分支

Git 服务器

本地协议

git clone file:///opt/git/project.git

SSH 协议

git clone ssh://user@server/project.git

Git 协议

HTTP/S 协议

Git 分布式

Git 命令

git init git clone git status git add git diff git diff --staged git commit git commit -m git commit -a git rm git rm --cached git mv git log git commit --amend

git 手册

你可能感兴趣的:(Git)