第三章 提交究竟是什么
每次提交都会生成一个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