git不同分支局部代碼合並 git cherry-pick
阿新 • • 發佈:2018-05-16
change compress 移除 cti IT oba 調整 php HA
cherry-pick 可以局部代碼合並。
cherry-pick不僅可以用在不同分支之間,還可以用在同一個分支上。
比如說你在某一個向某個分支中添加了一個功能,後來處於某種原因把它給刪除了,然而後來某一天你又要添加上這個功能了, 這時候就可以使用cherry-pick把添加那個功能的commit, 再重演一遍。
不同分支之前,傳遞代碼,有點意思。
commit dbb9d196fb38fe676fdfea9aeee6b0bc4512209a Author: jiqing <[email protected]> Date: Wed May 16 10:37:49 2018 +0800 規格處理 Admin/Lib/Action/ProductAction.class.php | 9 +++++++-- Admin/Tpl/Product/add.html | 12 ++++++------ 2 files changed, 13 insertions(+), 8 deletions(-)
這個是分支A中的功能調整,分支B中也需要這樣的功能,怎麽辦呢?
難不成,再寫一遍?又或者再復制一遍?
不需要的,使用cherry-pick就可以了。
git cherry-pick dbb9d196fb38fe676fdfea9aeee6b0bc4512209a
[laobandianqi 3eb652d] 規格處理
Date: Wed May 16 10:37:49 2018 +0800
2 files changed, 13 insertions(+), 8 deletions(-)
我們發現,分支B中會進行一模一樣的操作。
git log commit 3eb652de360e67dae1dfb2f7692396adad26ec65 Author: jiqing <[email protected]> Date: Wed May 16 10:37:49 2018 +0800 規格處理
就連生成的commit日誌都是一樣的,說明,它將commit重新在分支B上執行了一遍。
很好很強大,很喜歡。
使用之前,記得git fetch
jiqing@Ubuntu:/home/wwwroot/default/laobandianqi/store$ git fetch remote: Counting objects: 6, done. remote: Compressing objects: 100% (5/5), done. remote: Total 6 (delta 0), reused 0 (delta 0) 展開對象中: 100% (6/6), 完成. 來自 http://106.14.59.204/zhubin/store dbb9d19..c126d03 yanglu -> origin/yanglu jiqing@Ubuntu:/home/wwwroot/default/laobandianqi/store$ git cherry-pick c126d03041af4ab49a4104168e158ba869f6c9d5 [laobandianqi 5b3cd36] 購物車添加移除,增加規格 Date: Wed May 16 11:28:45 2018 +0800 1 file changed, 1 insertion(+)
git不同分支局部代碼合並 git cherry-pick