2013-08-30 9 views
17

リポジトリAでは、subというフォルダが、masterブランチを指すリポジトリSのgitサブツリーとして含まれています。git subtree:forkされたリポジトリ内のsubtreeブランチ/パスを変更することはできますか?

AFにフォークしました。今、私はFで、次のいずれかを実行します:

  • Sの異なる枝を使用するために変更sub(すなわちdevelop支店)
  • か:完全
異なるリポジトリを使用するために変更 sub

これらのいずれかが可能ですか?私が知るべき副作用はありますか?

サブツリーの変更がリポジトリAで変更されないようにするにはどうすればよいですか(変更要求を取り込みます)?私は、コミットを分離する以外にも意味します。

答えて

28

サブツリーの作成にgit subtree(かつgit submoduleではない)を使用した場合、これは単なる通常のディレクトリです。別のブランチに切り替えるには、ブランチを削除して、新しいブランチからサブツリーを再作成するだけです。これは:

git rm <subtree> 
git commit 
git subtree add --prefix=<subtree> <repository_url> <branch> 

問題なく動作するはずです。

+0

これは上流に同期されませんか?私はそれを試してみるつもりです。 – LearnCocos2D

+0

アップストリームには同期されません。 ''はどこにも保存されません。ファイルをどこから取得するのかを知るコマンドに使用されています。その後、リポジトリ内の通常のサブディレクトリを取得します。 – elmart

+0

ああ、私は今、サブツリーが別のリポジトリのコミットの状態を単純に "コピー"しているかのように、手動でコピーしたかのように(ただし、コミット履歴を保存しているかどうかはわかりません)だから、2つのリポジトリ間で特定のフォルダを同期させないという私の元の問題は変わりませんが、この質問には十分に答えます。 – LearnCocos2D

関連する問題