今天遇到一個(gè)需求,因?yàn)闃I(yè)務(wù)原因,現(xiàn)已開(kāi)發(fā)的部分功能,暫時(shí)不上線,只上線部分功能,但我們的所有功能都在同一個(gè)分支上,于是就需要把部分功能代碼分離出來(lái),一起來(lái)看看吧!
一、合并單個(gè)commit
首先,我們需要把A
分支上提交的部分代碼,放在B
分支上文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-553910.html
git checkout B // 切換到B分支
git cherry-pick 43aea9af // 把某一次的commit合并到B分支,其中’43aea9af‘是某次commit提交記錄的ID
git push origin B // 把分支B推送到遠(yuǎn)程倉(cāng)庫(kù)
二、合并連續(xù)的多個(gè)commit
如果我們想要合并多個(gè)連續(xù)的commit
,用上面的第一種方法,顯然效率不高,可以使用一下方法:
比如我們?cè)?code>A分支上有43aea9af
到70dfeec2a
的連續(xù)的10個(gè)commit
要合并到B
分支上文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-553910.html
- 首先基于A分支創(chuàng)建一個(gè)臨時(shí)分支
temp
,并指明新分支的最后一個(gè)commit
git checkout -b temp 70dfeec2a
- 將
temp
分支上的從43aea9af
到最后一個(gè)commit
,也就是70dfeec2a
的commit
合并到B
分支上
git rebase --into B 43aea9af^
到了這里,關(guān)于git只合并某個(gè)分支某一次提交的commit的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!