Git和svn都是比較不錯的代碼版本控制工具
幾年前svn用的還挺多,現在基本上git是標配了
Git確實很強大很優秀!
夸了一波git后開始進入正題
兩個版本都合并到master分支不一定會產生沖突。
首先產生沖突的本質是git不知道怎么去合并某一行或多行的代碼,需要人為的處理告訴它。
說白了就是因為兩個分支在修改了同一個文件的同一行代碼的情況才可能出現沖突,哪怕是多了一個空格。
當然如果兩分支代碼互不影響,合并就沒沖突了。
這里我想多說兩句,就是我們公司采用的一些不錯的git使用流程規范:
①按照bug,需求任務編號等建立分支名,比如bug110,task666等所謂的feature分支
這樣一看分支就知道這個分支干嘛用的。缺點就是隨著項目迭代bug和需求越來越多,分支也會很龐大。
我們是會定期清理這些分支來解決這個小缺點。
②然后有一個develop分支,專門給開發環境上用的。
③然后測試環境的分支按照約定好的上線日期建立分支名,如release20200416,就代表4月16號我們要上線
④假如4月16我們上線的東西就是解決bug編號是110的和任務編號是666的,那么我們會將bug110和task666合并到這個release分支,jenkins構建完測試去測
⑤假如這兩個測試通過了那就直接把這個release分支合并到master,假如有一個沒通過那么就刪了這個分支重新建一個release分支,把測試通過的功能分支合進去后,最后用新的release合到master
⑥等到上線了把develop分支基于master去rebase一下
基本就這樣,感覺屢試不爽。當然避免不了沖突,但是一般都沒有多大的沖突,很好解決。
上述的編號都是來自禪道或者redmine的。
手機碼字太不容易了,希望對你有幫助。
感興趣可以關注我,一共交流學習進步!