2012-10-09 12 views
5

Quando aggiungo un file di messa in scena, possoApplicare un commit blocco per blocco

$ git add my_file -p 

e selezionare i pezzi che voglio mettere in scena.

C'è un modo per unire/cherry-selezionare un commit e applicare il suo chunk diff da chunk?

Grazie

+0

anche dare un'occhiata a fuggitivo vim. E 'la selezione interattiva di blocchi di pietre – sehe

+0

Probabilmente correlato: https://stackoverflow.com/questions/1085162/commit-only-part-of-a-file-in-git –

risposta

11

io non sono a conoscenza di un modo diretto per fare questo, ma qui è un modo indiretto.

git cherry-pick -n <commit>

Cherry scegliere il git commit, ma dicono di non commetterlo (-n). I cambiamenti dovrebbero ora essere nella vostra copia di lavoro in modo da poter fare

git checkout -p

Ciò iterare su ogni blocco e chiedere se si vuole disfarsene, dire sì a qualsiasi pezzi si non si vogliono e no a pezzi che vuoi mantenere.

+0

Questa è sicuramente una soluzione. Saluti! – ms123

+0

solo un po 'di precisione: Dopo il git cherry-pick -n , abbiamo bisogno di un reset git -p (e prendere ciò che vogliamo fuori dalla stadiazione) – ms123

Problemi correlati