2013-08-01 20 views
26

Ho il nome della cartella utils Voglio copy questa cartella dal ramo master al ramo work. Come lo faccio ?Git Copia una cartella dal ramo principale a un altro ramo

+0

Vuol dire che non lo vuoi più su 'master', ma tu * lo vuoi * su' lavoro'? O vuoi semplicemente copiarlo su 'work'? –

+0

@CarlNorum domanda aggiornata – user2579475

+1

Credo che si possa usare 'git subtree push' per farlo con un comando. Vedere https://gist.github.com/cobyism/4730490 per esempio. –

risposta

48

per copiare la cartella sopra:

$ git checkout work 
Switched to branch 'work' 
$ git checkout master -- utils 
$ git add utils 
$ git commit -m "Adding 'utils' directory from 'master' branch." 
[work 9fcd968] Adding 'utils' directory from 'master' branch. 
 1 file changed, 0 insertions(+), 0 deletions(-) 
 create mode 100644 utils/file 

Se si desidera eliminare su master dopo che:

$ git checkout master 
Switched to branch 'master' 
$ git rm -r utils 
rm 'utils/file' 
$ git commit -m "Removing 'utils' directory." 
[master c786f95] Removing 'utils' directory. 
1 file changed, 0 insertions(+), 0 deletions(-) 
delete mode 100644 utils/file 

allora si può solo git push se necessario. L'output di Git nel tuo progetto potrebbe essere diverso; Ho appena fatto un semplice repo di prova qui con un solo file nella directory utils.

+3

Solo per considerazione, quando 'work' e' master' si uniscono di nuovo, ci sarà un conflitto a causa delle diverse operazioni avvenute su ciascun lato. – LopSae

+0

È interessante notare che l'ho provato. E quando ho unito il mio ramo a '' 'master''', non ho avuto conflitti. Forse Git è diventato più intelligente? – clinux

Problemi correlati