Discuss / Git / 修复分支可否直接跟dev分支合并?

修复分支可否直接跟dev分支合并?

Topic source

既然Bug分支是从master最新提交创建出来的,那么想要在dev分支修复同样的Bug,是可以直接把issue-101分支直接合并到dev分支,不使用cherry-pick也同样能达到目的?

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

一般来说,dev分支比master要新很多,比如改了a,b,c,d,e共5个文件

issue-101是从master拉出来的,然后改了f文件,这个时候,你把issue-101往dev合并,直接合不上去,必须先把dev的修改合到issue-101,再反过来合到dev

还不如只把改动单独应用到dev来得简单,因为可能有冲突,而cherry-pick只解决小改动的冲突

Tiger

#3 Created at ... [Delete] [Delete and Lock User]

请问   :

一般来说,dev分支比master要新很多,比如改了a,b,c,d,e共5个文件

issue-101是从master拉出来的,然后改了f文件,这个时候,你把issue-101往dev合并,直接合不上去,必须先把dev的修改合到issue-101,再反过来合到dev

还不如只把改动单独应用到dev来得简单,因为可能有冲突,而cherry-pick只解决小改动的冲突

dev没有动f文件   ,issue-101动了f  怎么会合并不了  这不冲突啊   为何说直接合不上去?  请指教  谢谢

bubble blue

#4 Created at ... [Delete] [Delete and Lock User]

注意dev分支比master要新很多dev要领先余master多个commit

比如:(-代表一次commit,issue-101比master多一次提交,因为修复了bug)

    master:----

issue-101:-----

         dev:----------

合并的时候 需要把commit多的往commit少的上合并。

所以 你把issue-101往dev合并,直接合不上去,必须先把dev的修改合到issue-101,再反过来合到dev

zerokita

#5 Created at ... [Delete] [Delete and Lock User]

怎么可能合不上去, 只是可能会有冲突. 而且是有多个开发分支, dev在上一次merge master到当前之间有其他分支merge到了master或master自己提交了修改才会出现冲突. 

不然是可以直接在dev merge bug分支. 看我例子, 或者自己去试试就知道了

*   217f488 (HEAD -> dev) dev merge bug # dev分支合并bug分支修改

|\  

| * c4c82c7 (main, bug) bug, a0t1 #bug 分支修改a

* | c9c3ca1 dev, b1t2 #dev 分支再修改b

* | a038c49 dev, b0t1 #dev 分支修改b

|/  

* 82634b6 main, new a 0, new b 0  # main分支新建文件a, b

你要是按bug必须先合并dev的修改, dev才能合并bug的修改那真的完全理解错了


  • 1

Reply