Git取消合併與撤銷

git取消合併

git merge --abort

git撤銷

git resetgit

- git reset --soft: 將分支回退到指定提交,工做區維持現狀不變,暫存區會在現有基礎上增長該commit以後的提交。
- git reset --mixed: (默認操做)將分支回退到指定提交,暫存區也被同步爲該指定提交,工做區保持不變。
- git reset --hard: 將分支回退到指定分支,暫存區和工做區都會被同步爲該指定的提交。
  1. git reset後的三個參數回退程度是依次遞進。soft最輕微,它不會重置當前工做區和暫存區,只會將回退版本後續的提交加到暫存區。
  2. mixed會改變暫存區,使它和回退版本同步。
  3. hard則會重置工做區和暫存區,使它和回退版本一致。

git 取消本地修改

git checkout .   //當前分支的修改會重置 謹慎使用

處理合並衝突

首先要冷靜,能夠先看哪些文件衝突,是否是本身致使的,若本身致使的,可使用 git merge --abort取消合併,spa

若是本身提交的代碼,發現有問題或者影響同事代碼了,可使用 git log 查看日誌,指針

 

 

而後回退版本 git reset --hard ID  好比: git reset --hard 3a169ff日誌

 

2、git revert 的用法

git revert 的做用是經過建立一個新的版本,這個版本的內容與咱們要回退到的目標版本同樣,可是HEAD指針是指向這個新生成的版本,而不是目標版本。
若是咱們想恢復以前的某一版本(該版本不是merge類型),可是又想保留該目標版本後面的版本,記錄下這整個版本變更流程,就能夠用這種方法。
咱們使用git revert HEAD命令就能夠建立一個新的版本,此版本與上一個版本相同。
code

 
 

此時 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。
 
相關文章
相關標籤/搜索