2013-08-01 19 views
26

私はフォルダ名がutilsですcopymasterブランチからworkブランチにこのフォルダをしたいと思います。それ、どうやったら出来るの ?Git masterブランチから別のブランチにフォルダをコピーします

+0

あなたは 'master 'にそれ以上は望んでいないのですが、' work'でそれをしたいのですか?あるいは単にそれを 'work'にコピーしたいのですか? –

+0

@CarlNorum question updated – user2579475

+1

私はあなたが 'git subtree push'を使って1つのコマンドでこれを行うことができると信じています。たとえば、https://gist.github.com/cobyism/4730490を参照してください。 –

答えて

48

の上にフォルダをコピーするには:あなたはその後masterでそれを削除したい場合は

$ 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 

$ 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 

次に、あなただけのgit push、必要に応じてすることができます。あなたのプロジェクトでのGitの出力は異なるかもしれません。私はちょうどutilsディレクトリの1つのファイルでここで簡単なテストレポを作った。

+3

ちょうど考慮のために、 '仕事'と 'マスター'が再び合併するとき、それぞれの側で起こった異なる操作のために競合があります。 – LopSae

+0

興味深いことに私はこれを試しました。そして私の枝を「マスター」に合併したとき、私は矛盾がなかった。たぶんgitはよりスマートになったでしょうか? – clinux

関連する問題