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

Strom Ich bin in branchA(a4), wenn ich git cherry-pick b3 tunWas macht der Kirschbaum?

was passiert? Diff von b3 und b2 wird zu a4 gepatcht werden?

+2

Mögliche Duplikate von [Was bedeutet Cherry-Picking mit git commit?] (Http://stackoverflow.com/questions/9339429/what-does-cherry-picking-a-commit-with-git-mean) – nullpointer

+0

es tut, was die [git Buch] (https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project#_rebase_cherry_pick) sagt, es tut. –

Antwort

4

Wenn es keine Konflikte gibt, dann ist die Geschichte nach cherry-pick b3 wird:

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

wo b3' ist die gleiche Änderung wie b3 aber umbasiert gegen branchA.

Wenn Sie Konflikte haben, wird Ihnen der Befehl cherry-pick dies mitteilen und Sie auffordern, die Konflikte manuell zu lösen, bevor Sie b3' übergeben.

Insbesondere eine cherry-pick b3 tun tut nicht sind die Änderungen b1 und b2.

+0

'b3 'ist die gleiche Änderung wie b3' bedeutet 'diff von b3 und b2' oder' diff von b3 und a2'? – Sato

+0

@Sato: Die "Änderung" in "b3" ist der Unterschied zwischen 'b3' und' b2'. Wie ich bereits sagte, sind die Änderungen in 'b1' und' b2' nicht in den "cherry-pick" involviert. –