git中的revert和reset
假如我們對(duì)之前提交的代碼不滿(mǎn)意,我們就能使用git reset 或者git revert。reset、revert都有恢復(fù)之意,在git中他們的差別是什么呢?
在這之前,我們?cè)趶?fù)習(xí)一下git的基本知識(shí)。
Git有三個(gè)區(qū)域:
Working Tree 當(dāng)前的工作區(qū)域
Index/Stage 暫存區(qū)域。使用git add xx,就可以將xx添加近Stage里面
Repository 提交的歷史,即使用git commit提交后的結(jié)果,這里指的是本地倉(cāng)庫(kù)
reset
git reset 是通過(guò)移動(dòng)HEAD來(lái)達(dá)到恢復(fù)的目的,移動(dòng)到的節(jié)點(diǎn)的之后的代碼會(huì)通過(guò)你選擇的模式進(jìn)行處理。
git reset有三種模式:
git reset --hard:重置stage區(qū)和工作目錄:
git reset --soft:保留工作目錄,并把重置 HEAD 所帶來(lái)的新的差異放進(jìn)暫存區(qū);
git reset --mixed 或 git reset(不加參數(shù)的話(huà)就是mixed模式):保留工作目錄,并清空暫存區(qū)
revert
git revert表示的事我想撤銷(xiāo)某個(gè)版本,他之前和之后的版本繼續(xù)保留。
我們通過(guò)一個(gè)例子來(lái)說(shuō)明。
我們提交了三次, 但是 我不想要b.txt 這個(gè)文件了,我們可以使用revert
此時(shí)我們看文件夾,
b.txt果然消失了, 然后你需要繼續(xù)git commit 一下 ,記錄一下你的回退操作
最后我們打印一下git log
總結(jié)
以上是生活随笔為你收集整理的git中的revert和reset的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ui设计教程分享:关于Logo设计要素
- 下一篇: go语言google pay支付验证订单