[GIT]辨析/區別: git reset HEAD 與 git reset --hard HEAD
阿新 • • 發佈:2020-08-06
1 文由
時常有這樣一種場景,不小心改動了部分檔案,或修改了部分檔案卻發現無用,此時可能還沒有git push,也可能push了;又可能commit了,或者還沒有commit。
此時,我們想撤銷(git reset)到遠端倉庫或本地倉庫的最新最近一次的正式版本中來。那麼,怎麼做?
2 解決方案
[情況1] git checkout <filename/branch/tag> # 替換/覆蓋本地改動。 # 將使用HEAD指標所指的最新內容替換工作目錄中的檔案;已新增到暫存區(含:新建檔案)的改動不會受影響[git add -A xx 以後]。 [情況2] git fetch origin git reset --hard origin/<remoteBranchName> # 丟棄在本地的所有改動與提交(commit),可到伺服器上獲取最新的版本。
3 辨析
git reset HEAD 回退。將暫存區和HEAD的提交保持一致
git reset --hard HEAD 回退。將工作區、暫存區和HEAD保持一致