Si dovrebbe davvero avere un flusso di lavoro che ti permette di fare tutto questo con la fusione:
- x - x - x (v2) - x - x - x (v2.1)
\
x - x - x (wss)
Quindi tutto quello che dovete fare è git checkout v2.1
e git merge wss
. Se per qualche motivo non puoi davvero farlo, e non puoi usare git rebase per spostare il tuo ramo wss nel posto giusto, il comando per prendere un singolo commit da qualche parte e applicarlo altrove è git cherry-pick. Basta controllare il ramo su cui si desidera applicarlo ed eseguire git cherry-pick <SHA of commit to cherry-pick>
.
Alcuni dei modi REBASE potrebbe risparmiare:
Se la vostra storia è simile al seguente:
- x - x - x (v2) - x - x - x (v2.1)
\
x - x - x (v2-only) - x - x - x (wss)
Si potrebbe utilizzare git rebase --onto v2 v2-only wss
per spostare WSS direttamente su v2:
- x - x - x (v2) - x - x - x (v2.1)
|\
| x - x - x (v2-only)
\
x - x - x (wss)
Poi puoi unire! Se davvero, davvero, davvero non può arrivare al punto in cui è possibile unire, è ancora possibile utilizzare rebase per fare in modo efficace diversi ciliegio-picks in una sola volta:
# wss-starting-point is the SHA1/branch immediately before the first commit to rebase
git branch wss-to-rebase wss
git rebase --onto v2.1 wss-starting-point wss-to-rebase
git checkout v2.1
git merge wss-to-rebase
Nota: la ragione che ci vuole un po 'di lavoro in più per farlo è che sta creando commit duplicati nel tuo repository. Non è davvero una buona cosa - l'intero punto di facile ramificazione e fusione è di essere in grado di fare qualsiasi cosa, commettendo uno o più ordini e unendoli in qualunque posto siano necessari. Duplicate commits significano l'intento di non unire mai questi due rami (se decidi di volere più tardi, otterrai conflitti).
Per copiare semplicemente i commit (o un intervallo di commit) da un ramo all'altro, questa risposta mi ha aiutato meglio: http://stackoverflow.com/questions/1994463/how-to-cherry-pick-a-range-of -commits-and-merge-into-another-branch/1994491 # 1994491 – caramba
[Cherry-Picking commits specifici da un altro ramo] (https://ariejan.net/2010/06/10/cherry-picking-specific-commits- from-another-branch /) – KyleMit