說(shuō)代碼撤銷(xiāo)之前先說(shuō)說(shuō) git HEAD 和 相對(duì)引用
- HEAD
官方說(shuō)法: HEAD 是一個(gè)對(duì)當(dāng)前檢出記錄的符號(hào)引用 —— 也就是指向你正在其基礎(chǔ)上進(jìn)行工作的提交記錄污淋。
我的理解就是指向,HEAD指向哪里住涉,你的代碼就是哪次提交起惕。
- 相對(duì)引用 (^ 合 ~)
- ^
HEAD^ 就表示相對(duì)當(dāng)前HEAD指向的提交記錄的上一級(jí) - ~
HEAD~1 就表示相對(duì)當(dāng)前HEAD指向的提交記錄的前1級(jí)
HEAD~3 就表示相對(duì)當(dāng)前HEAD指向的提交記錄的前3級(jí)
- ^
git reset
我們當(dāng)前的git
執(zhí)行 git reset HEAD~1
后的git庫(kù)狀態(tài)
使用 git reset 回退一個(gè)提交版本后奸晴,我們的git倉(cāng)庫(kù)就根本不知道你有C2這次提交記錄砸脊。
git revert
同樣,當(dāng)前git提交記錄
使用 git revert HEAD^
后的git提交記錄
是不是很奇怪為什么多出了一次 C2` 的提交, 在這里 C2` 其實(shí)就等于 C1盯腌,同樣實(shí)現(xiàn)了代碼回退践剂,只是保留了我們 C2 這次的提交