要怎么撤銷最后一次提交?有兩種方法可以撤消上次提交。
revert命令
revert命令將創(chuàng)建一個提交,該提交還原所針對的提交的更改。
可以使用它來恢復(fù)最后一次提交,如下所示:
git revert <commit to revert>
在圖像中,每個圓圈代表一次提交。
reset命令
還可以使用該reset命令撤消上次提交。
但要小心——它會改變提交歷史,所以你應(yīng)該很少使用它。
它會將 HEAD(工作分支)移動到指定的提交,并在之后丟棄任何內(nèi)容:
git reset --soft HEAD~1
--soft選項 意味著您不會丟失 可能擁有的未提交的更改。
在圖像中,每個圓圈代表一次提交。
如果要重置為最后一次提交并刪除所有未暫存的更改,可以使用以下--hard選項:
git reset --hard HEAD~1
這將撤消最新的提交,但也會撤消任何未提交的更改。
在圖像中,每個圓圈代表一次提交。
應(yīng)該使用reset還是revert?
reset只在被重置的提交, 存在于本地時才使用。
此命令會更改提交歷史記錄,并且可能會覆蓋遠(yuǎn)程團(tuán)隊成員所依賴的歷史記錄。
revert 而是創(chuàng)建一個新的提交來撤消更改,因此如果要恢復(fù)的提交已經(jīng)被推送到共享存儲庫,最好使用revert,因為它不會覆蓋提交歷史。