Git 分支管理 不使用Fast forward模式進行合並 分支管理策略


  

  

  通常,合並分支時,如果可能,Git會用Fast forward模式,但這種模式下,刪除分支后,會丟掉分支信息。

  如果要強制禁用Fast forward模式Git就會在merge時生成一個新的commit

  這樣,從分支歷史上就可以看出分支信息

 

下面我們實戰一下--no-ff方式的git merge

 

--

  首先,仍然創建並切換dev分支:

      $ git checkout -b dev

      

        

 

---

  修改readme.txt文件,並提交一個新的commit:

    

    

      

 

----

  現在,我們切換回master

    

 

-----

  >>>准備合並dev分支,請注意--no-ff參數,表示禁用Fast forward

      $ git merge --no-ff -m "merge with no-ff" dev

       

      

        >>>>>因為本次合並要創建一個新的commit,所以加上-m參數,把commit描述寫進去。

 

 

------

  合並后,我們git log看看分支歷史:

      

 

-------

  可以看到,不使用Fast forward模式,merge后就像這樣

     

      

 

 

     使用Fast forward時是這樣的

         

   

 

 

  合並分支時,加上--no-ff參數就可以用普通模式合並,

  合並后的歷史有分支,能看出來曾經做過合並,

  而fast forward合並就看不出來曾經做過合並。

 

 

 

分支策略

 在實際開發中,我們應該按照幾個基本原則進行分支管理:

 首先,master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面干活;

 

 那在哪干活呢?

   干活都在dev分支上,也就是說,dev分支是不穩定的,

   到某個時候,比如1.0版本發布時,再把dev分支合並到master上,在master分支  發布1.0版本;

 

 和你的小伙伴們每個人都在dev分支上干活,每個人都有自己的分支,時不時地往dev分支上合並就可以了。

 

 所以,團隊合作的分支看起來就像這樣:

       

 


免責聲明!

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



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