说代码撤销之前先说说 git HEAD 和 相对引用
- HEAD
官方说法: HEAD 是一个对当前检出记录的符号引用 —— 也就是指向你正在其基础上进行工作的提交记录。
我的理解就是指向,HEAD指向哪里,你的代码就是哪次提交。
- 相对引用 (^ 合 ~)
- ^
HEAD^ 就表示相对当前HEAD指向的提交记录的上一级 - ~
HEAD~1 就表示相对当前HEAD指向的提交记录的前1级
HEAD~3 就表示相对当前HEAD指向的提交记录的前3级
- ^
git reset
我们当前的git
执行 git reset HEAD~1
后的git库状态
使用 git reset 回退一个提交版本后,我们的git仓库就根本不知道你有C2这次提交记录。
git revert
同样,当前git提交记录
使用 git revert HEAD^
后的git提交记录
是不是很奇怪为什么多出了一次 C2` 的提交, 在这里 C2` 其实就等于 C1,同样实现了代码回退,只是保留了我们 C2 这次的提交
网友评论