2017-01-24 180 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”所做的更改并不涉及樱桃挑选。 –