說代碼撤銷之前先說說 git HEAD 和 相對引用
- HEAD
官方說法: HEAD 是一個對當前檢出記錄的符號引用 —— 也就是指向你正在其基礎上進行工作的提交記錄。
我的理解就是指向,HEAD指向哪里,你的代碼就是哪次提交。
- 相對引用 (^ 合 ~)
- ^
HEAD^ 就表示相對當前HEAD指向的提交記錄的上一級 - ~
HEAD~1 就表示相對當前HEAD指向的提交記錄的前1級
HEAD~3 就表示相對當前HEAD指向的提交記錄的前3級
- ^
git reset
我們當前的git

執(zhí)行 git reset HEAD~1 后的git庫狀態(tài)

使用 git reset 回退一個提交版本后,我們的git倉庫就根本不知道你有C2這次提交記錄。
git revert
同樣,當前git提交記錄

使用 git revert HEAD^ 后的git提交記錄

是不是很奇怪為什么多出了一次 C2` 的提交, 在這里 C2` 其實就等于 C1,同樣實現(xiàn)了代碼回退,只是保留了我們 C2 這次的提交