2013-08-01 11 views
26

Mam nazwę folderu utils Chcę, aby copy ten folder z master oddział do work oddziału. Jak mogę to zrobić ?Git Skopiuj folder z gałęzi głównej do innej gałęzi

+0

Masz na myśli, że nie chcesz już tego na 'master', ale ty * chcesz * chcieć go na' pracy'? Czy po prostu chcesz skopiować go do 'pracy'? –

+0

@CarlNorum pytanie zaktualizowane – user2579475

+1

Wierzę, że możesz użyć 'git subtree push' do zrobienia tego za pomocą jednego polecenia. Zobacz https://gist.github.com/cobyism/4730490 na przykład. –

Odpowiedz

48

Aby skopiować folder na:

$ 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 

Jeśli chcesz usunąć go na master potem:

$ 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 

Następnie można po prostu git push jak to konieczne. Wyniki Git w twoim projekcie mogą być inne; Właśnie zrobiłem proste testowe repo z jednym plikiem w katalogu utils.

+3

Tylko dla rozważenia, kiedy 'praca' i' master' zostaną scalone ponownie, wystąpi konflikt z powodu różnych operacji, które miały miejsce po obu stronach. – LopSae

+0

Co ciekawe, spróbowałem tego. A kiedy połączyłem moją gałąź z powrotem z '' 'master''', nie miałem konfliktu. Może git stał się mądrzejszy? – clinux

Powiązane problemy