《Git学习指南》学习笔记(二)
第三章 提交究竟是什么
每次提交都会生成一个40位的散列值。只要知道散列值,我们就可以恢复到该次提交,这个操作也被称之为检出(checkout)操作。
访问权限与时间戳
Git会保存每个文件原有的访问权限,但修改时间会随着checkout重置为当前时间。这是因为很多构建工具重新生成项目的动作都以文件的修改时间来触发,一旦checkout,工具就知道要重新构建项目了。
add命令与commit命令
通常提交会包含所有的修改,但.gitignore文件列出的那些文件例外。
若想一次提交所有修改,可使用--all参数:
git add --all
常用命令
diff比较:
-
两次提交
git diff 77d231f HEAD
HEAD相当于一个游标,通常表示当前版本。
-
与上一次提交进行比较
git diff 77d231f^!
-
限制文件范围
git diff 77d231f 05bcfd1 - xxx/xxxx/
-
统计修改情况
git diff --stat 77d231f 05fjsk2
log输出:
-
简单日志输出
git log
-
指定最新3条日志
git log -n 3
-
每个提交在一行内显示
git log --oneline
-
只显示统计
git log --stat
-
图形化输出
git log --graph