git merge --abort
git resetgit
- git reset --soft: 將分支回退到指定提交,工做區維持現狀不變,暫存區會在現有基礎上增長該commit以後的提交。 - git reset --mixed: (默認操做)將分支回退到指定提交,暫存區也被同步爲該指定提交,工做區保持不變。 - git reset --hard: 將分支回退到指定分支,暫存區和工做區都會被同步爲該指定的提交。
git checkout . //當前分支的修改會重置 謹慎使用
首先要冷靜,能夠先看哪些文件衝突,是否是本身致使的,若本身致使的,可使用 git merge --abort取消合併,spa
若是本身提交的代碼,發現有問題或者影響同事代碼了,可使用 git log 查看日誌,指針
而後回退版本 git reset --hard ID 好比: git reset --hard 3a169ff日誌
git revert 的做用是經過建立一個新的版本,這個版本的內容與咱們要回退到的目標版本同樣,可是HEAD指針是指向這個新生成的版本,而不是目標版本。
若是咱們想恢復以前的某一版本(該版本不是merge類型),可是又想保留該目標版本後面的版本,記錄下這整個版本變更流程,就能夠用這種方法。
咱們使用git revert HEAD
命令就能夠建立一個新的版本,此版本與上一個版本相同。
code
cat abc.md
就能夠發現輸出回到了
hello world
。
git revert HEAD
:撤銷前一次 commitgit revert HEAD^
:撤銷前前一次 commitgit revert commit + (commit id)
: 撤銷指定的版本,撤銷也會做爲一次提交進行保存。git branch -a //查看遠程分支 git remote update origin --prune //更新分支 git checkout test //切換分支
//若是這樣的方式沒起做用
git checkout -b test origin/test //可使用這種方法 在本地建立一個和遠程分支一樣名字的分支 並切換到這個分支
git pull origin test //而後更新下這個分支的代碼 ok了
git reset --soft HEAD^
:將最近一次提交節點的提交記錄回退到暫存區git reset --mixed HEAD^
:將最近一次提交節點的提交記錄回退到工做區git reset --hard HEAD^
:將最近一次提交節點的提交記錄所有清除