git取消合並
git merge --abort
git撤銷
git reset
- git reset --soft: 將分支回退到指定提交,工作區維持現狀不變,暫存區會在現有基礎上增加該commit之后的提交。 - git reset --mixed: (默認操作)將分支回退到指定提交,暫存區也被同步為該指定提交,工作區保持不變。 - git reset --hard: 將分支回退到指定分支,暫存區和工作區都會被同步為該指定的提交。
- git reset后的三個參數回退程度是依次遞進。soft最輕微,它不會重置當前工作區和暫存區,只會將回退版本后續的提交加到暫存區。
- mixed會改變暫存區,使它和回退版本同步。
- hard則會重置工作區和暫存區,使它和回退版本一致。
git 取消本地修改
git checkout . //當前分支的修改會重置 謹慎使用
處理合並沖突
首先要冷靜,可以先看哪些文件沖突,是不是自己導致的,若自己導致的,可以使用 git merge --abort取消合並,
如果自己提交的代碼,發現有問題或者影響同事代碼了,可以使用 git log 查看日志,

然后回退版本 git reset --hard ID 比如: git reset --hard 3a169ff
二、git revert 的用法
git revert 的作用是通過創建一個新的版本,這個版本的內容與我們要回退到的目標版本一樣,但是HEAD指針是指向這個新生成的版本,而不是目標版本。
如果我們想恢復之前的某一版本(該版本不是merge類型),但是又想保留該目標版本后面的版本,記錄下這整個版本變動流程,就可以用這種方法。
我們使用git revert HEAD命令就可以創建一個新的版本,此版本與上一個版本相同。
此時
cat abc.md就可以發現輸出回到了
hello world。
以下是 git renert 的三種用法
-
git revert HEAD:撤銷前一次 commit -
git revert HEAD^:撤銷前前一次 commit git revert commit + (commit id): 撤銷指定的版本,撤銷也會作為一次提交進行保存。
git 更新本地分支(實用)
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^:將最近一次提交節點的提交記錄全部清除 - git revert是用一次新的commit來回滾之前的commit,git reset是直接刪除指定的commit。
