Git 分支管理 解决冲突

  

 

 

  人生不如意之事十之八九,合并分支往往也不是一帆风顺的。

  准备新的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

    

 

posted @ 2019-05-11 20:00  萌胖胖  阅读(257)  评论(0编辑  收藏  举报