2017-01-24 103 views
3
a1----a2----a3-----a4 (branchA) 
     \ 
     \b1---b2---b3---b4----b5----b6 (branchB) 

目前我在branchA(a4),如果我做git cherry-pick b3櫻桃挑選做什麼?

會發生什麼? b3和b2的差異將被修補爲a4?

+2

的可能的複製[什麼櫻桃採摘用git提交呢?(http://stackoverflow.com/questions/9339429/what-does-cherry-picking-a-commit-with-git-mean) – nullpointer

+0

它做的是[git book](https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project#_rebase_cherry_pick)說的。 – 2017-01-24 04:07:40

回答

4

如果沒有衝突,那麼cherry-pick b3後,歷史將是:

a1----a2----a3-----a4----b3' (branchA) 
     \ 
     \b1---b2---b3---b4----b5----b6 (branchB) 

其中b3'是一樣的變化b3但對branchA重建基礎。

如果您有任何衝突,那麼cherry-pick命令會告訴您,並在提交b3'之前提示您手動解決衝突。

特別是,做一個cherry-pick b3包括改變b1b2

+0

'b3'與b3'是指b3和b2'的差異還是'b3和a2'的差異? – Sato

+0

@Sato:'b3'中的「變化」是'b3'和'b2'之間的差異。正如我所說的,「b1」和「b2」所做的更改並不涉及櫻桃挑選。 –