如題,在日常的開發過程中,可能有組員不小心一下子吧文件修改,需要進行回退
回退主要涉及到2種命令,一種是git reset 一種是 git revert
git reset 會修改git log提交歷史
如果你只是要回退到最近的版本,那么reset和revert 產生的效果沒有什么區別
但是,如果你是要回退到前幾次的提交,那么這2種方式不同就出來了
reset會抹去 現在 到 回退點之間提交歷史,這個十分不推薦,相當於掩蓋了一些操作
revert以一個新的提交去進行覆蓋
這里以我自己為案,我刪除了一個module,需要進行回退,但是之間又有一些有意義的提交,那么顯然,我不適合使用git reset,而是需要使用 git revert
刪除project的歷史是 4c9079d,在此之后,我有一些小回退,后面我要完全恢復這個工程,那么執行
git revert 4c9079d
git reset HEAD xxxx // 因為我是刪除了文件,所以需要修改這些操作,reset HEAD后,這些文件就重新出現了,
git status // 查看狀態就應該能看到很多 new file xxxx 的文件出來了
git commit -m 'roll back'