1. 程式人生 > >Git 分支管理 解決沖突

Git 分支管理 解決沖突

情況 直接 inf word mit eat wid creating ria

  

  人生不如意之事十之八九,合並分支往往也不是一帆風順的。

  準備新的feature1分支,繼續我們的新分支開發:

    $ git checkout -b feature1

      技術分享圖片

--

  feature1分支上修改readme.txt最後一行,改為:

        Creating a new branch is quick AND simple.

---

  feature1分支上提交:

      $ git add readme.txt
      $ git commit -m "AND simple"

         技術分享圖片

         技術分享圖片

----

  切換到master分支:

    技術分享圖片

-----

  master分支上把readme.txt文件的最後一行改為:

        Creating a new branch is quick & simple.

------

  在master分支上提交:

    技術分享圖片

-------

  現在,master分支和feature1分支各自都分別有新的提交,變成了這樣:

      技術分享圖片

        技術分享圖片

--------

  這種情況下,Git無法執行“快速合並(這種模式下,刪除分支後,會丟掉分支信息)

  只能試圖把各自的修改合並起來但這種合並就可能會有沖突,我們試試看:

    

      技術分享圖片

      發生沖突了

      Git告訴我們,readme.txt文件存在沖突,必須手動解決沖突後再提交。

  git status也可以告訴我們沖突的文件:

      技術分享圖片

  

  我們也可以直接查案readme.txt的內容

      技術分享圖片

    Git用<<<<<<<=======>>>>>>>標記出不同分支的內容

---------

  我們修改如下後保存: 

      Creating a new branch is quick and simple.

     技術分享圖片

----------

  再提交:

      技術分享圖片

-----------

  現在,master分支和feature1分支變成了下圖所示:

      技術分享圖片

    技術分享圖片

------------

  用帶參數的git log也可以看到分支的合並情況:

      $ git log --graph --pretty=oneline --abbrev-commit

      技術分享圖片

      $ git log --graph 

       技術分享圖片

-------------

  最後,刪除feature1分支:

      $ git branch -d feature1

    技術分享圖片

Git 分支管理 解決沖突