Git取消合並與撤銷


git取消合並

git merge --abort

git撤銷

git reset

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM