App下載

Git Revert Commit – 如何撤消最后一次提交

退役魔法少女 2021-09-01 10:14:56 瀏覽數(shù) (5088)
反饋

要怎么撤銷(xiāo)最后一次提交?有兩種方法可以撤消上次提交。

revert命令

revert命令將創(chuàng)建一個(gè)提交,該提交還原所針對(duì)的提交的更改。

可以使用它來(lái)恢復(fù)最后一次提交,如下所示:

git revert <commit to revert>


在圖像中,每個(gè)圓圈代表一次提交。

reset命令

還可以使用該reset命令撤消上次提交。

但要小心——它會(huì)改變提交歷史,所以你應(yīng)該很少使用它。

它會(huì)將 HEAD(工作分支)移動(dòng)到指定的提交,并在之后丟棄任何內(nèi)容:

git reset --soft HEAD~1

--soft選項(xiàng) 意味著您不會(huì)丟失 可能擁有的未提交的更改。

在圖像中,每個(gè)圓圈代表一次提交。

如果要重置為最后一次提交并刪除所有未暫存的更改,可以使用以下--hard選項(xiàng):

git reset --hard HEAD~1

這將撤消最新的提交,但也會(huì)撤消任何未提交的更改。

在圖像中,每個(gè)圓圈代表一次提交。

應(yīng)該使用reset還是revert?

reset只在被重置的提交, 存在于本地時(shí)才使用。

此命令會(huì)更改提交歷史記錄,并且可能會(huì)覆蓋遠(yuǎn)程團(tuán)隊(duì)成員所依賴(lài)的歷史記錄。

revert 而是創(chuàng)建一個(gè)新的提交來(lái)撤消更改,因此如果要恢復(fù)的提交已經(jīng)被推送到共享存儲(chǔ)庫(kù),最好使用revert,因?yàn)樗粫?huì)覆蓋提交歷史。



0 人點(diǎn)贊