建立一个追踪:git add,这个命令也可以把已经追踪的文件更新放到暂存区去,并且要注意,每一次对文件的修改都必须进行依次git add指令,记录版本的变化
怎样不直接管理某些文件,但是也不像让它取消跟踪
在仓库的.gitignore文档中设置某些想要忽略的文件,不在提交更新的时候提交这些文件,例如说,我想忽略掉所有配置文件和工作日志,则我可以在.gitignore中打下 *.cfg *.log等等,.gitignore的格式:
- 所有空行或者以注释符号
#
开头的行都会被 Git 忽略。 - 可以使用标准的 glob 模式匹配。(glob模式,就是shell中所使用的正则表达式,*表示任意或零个字符,abc]匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c),?只匹配一个字符,如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)
- 匹配模式最后跟反斜杠(
/
)说明要忽略的是目录。 - 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(
!
)取反
参数 --cached 则是比较已经在暂存区的和上次提交的文件变化
git log 列出所有更新,按照时间顺序排列出来
参数-p 展开每次提交更新的差异
-n最近n次的提交记录
--stat 仅显示简要的行数增减统计
--pretty让文件修改以一种和之前不同的方式显示出来.参数有oneline short full fuller
format 可以定制要现实的记录格式,占位符写法和意义如下所示
%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明
--since --after显示限制时间之后的提交记录
--until --before显示限制时间之前的提交记录
--author显示限制作者的提交记录
--amend能编辑上一次提交的内容并提交,这次提交覆盖上一次提交
git rest HEAD 文件名 取消对这个文件的暂存
git checkout -- 文件名恢复对这个文件的所有修改,让文件回到最初时的状态