使用git時,如何解決衝突

下面,經過一個實例來演示,模擬開發中的一種衝突的狀況:git

準備工做

第一步

在本地文件中建立一個git倉庫:指針

輸入圖片說明

可見,此時,HEAD指針指向master分支。 而後新建文件, readme.txt , 添加內容: the content belongs to master :code

輸入圖片說明

最後add、commit :圖片

輸入圖片說明

第二步

建立、切換到dev分支:開發

$ git checkout -b dev
Switched to a new branch 'dev'

而後,用git branch命令查看當前分支:it

$ git branch
* dev
  master

修改readme.txt 的內容, 修改成:io

the content belongs to master
the content belongs to dev

而後add、commitast

$ git add readme.txt
$ git commit -m "commit in dev"
[dev 989b97f] commit in dev
 1 file changed, 1 insertion(+), 1 deletion(-)

再切換到master分支:file

$ git checkout master
Switched to branch 'master'
$ git branch
  dev
* master

中途休息

如今,master分支和dev分支各自都分別有新的提交,變成了這樣:im

輸入圖片說明

開始合併

將dev合併到master , 會出現衝突:

輸入圖片說明

直接查看readme.txt的內容:

<<<<<<< HEAD
the content belongs to master
=======
the content belongs to master
the content belongs to dev 
>>>>>>> dev

Git用<<<<<<<,=======,>>>>>>>標記出不一樣分支的內容,咱們修改以下後保存:

the content belongs to master
the content belongs to dev , too

再提交:

$ git add readme.txt
$ git commit -m "conflict fixed"
[master 6bbd9b3] conflict fixed

如今,master分支和dev分支變成了下圖所示:

輸入圖片說明

能夠用git log看看分支的合併狀況:

輸入圖片說明

end

相關文章
相關標籤/搜索