1. 程式人生 > 其它 >如何將某一個分支的部分程式碼合併到另外一個分支上面

如何將某一個分支的部分程式碼合併到另外一個分支上面

轉 https://www.cnblogs.com/liuminxiu0707/p/14778428.html

需求:我在A分支上面開發了一個功能,突然B分支說也需要這個功能,但是不想要合併A分支上所有的程式碼;只需要合併這一個功能對應的程式碼

方案:

1. 在A分支上通過git log 檢視日誌;將自己提交的該功能對應的hash值整理出來;

git log

2.如果本地沒有B分支,需要先將B分支從遠端倉庫拉到本地倉庫(如果本地有B分支,並且已與遠端對應的B分支已關聯;無需這一步,直接到下一步)

git checkout--track origin/B

3.切換到B分支

git checkout B

4.在B分支上操作:通過git cherry-pick <commit對應的hash值>將當前hash對應提交的程式碼合併到B分支上去

git cherry-pickb5dc0dd

如下圖;為了防止混淆,本人將該功能對應的提交都記錄下文字文件了

注意:

1. 單個commit合併

git cherry-pick commitid

2.多個分開的commit一起合併

git cherry-pickcommit-id1commit-id3commit-id6

3. 多個連續的commit合併

 git cherry-pick commitid1..commitid8 將commitid1到commitid8之間的所有提交合併到B分支上(不包含第一個commitid)

每一次合併都可能會產生衝突,如果產生衝突,先解決衝突,然後將程式碼commit到本地倉庫即可;

測試無誤之後,再將合併後的程式碼push到遠端倉庫。切記!