git拉兩個版本其中一個改完merge到master,另一個開發完merge到master會衝突嗎?

嘌送o8fi4010


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的。

手機碼字太不容易了,希望對你有幫助。

感興趣可以關注我,一共交流學習進步!



碼農的搬磚生涯


兩個分支不一定會有衝突,這個取決於你修改的東西。如果兩個分支改到同一個文件,提交代碼的時候會提示有衝突。

有衝突解決就可以了,不用太擔心。如果是windows,推薦使用TortoiseGit,解決衝突很方便。


賢爸學堂


存在衝突的可能。

有衝突很正常,幾個人會同時修改一個文件,那就解決衝突就好了,不用擔心有衝突。

git本來就是版本管理工具,衝突處理是基本功能。


分享到:


相關文章: