6

リモート foo を含む git リポジトリがあります。

foo は Web アプリで、いくつかのファイルとディレクトリがルートに直接含まれています。

Rakefile
app
...
public
script

私のメインの git リポジトリは、この Web アプリを構成するより大きなシステムです。コミットを foo から取得したいのですが、ファイルをディレクトリ内に配置する必要がありますweb。したがって、それらは 、 などになるはずweb/appですweb/public

サブモジュールとして foo を使用したくありません。foo をメイン リポジトリにマージしてから削除したいと考えています。

4

3 に答える 3

4

これは私の質問に答えます:

http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html

于 2008-11-05T19:42:45.983 に答える
2

サブツリーのマージに関する最新のリソースは次のとおりです。

サブツリーマージ戦略の使用方法から引用:

この例では、リポジトリが にあるとします/path/to/B(ただし、必要に応じて URL にすることもできます)。dir-Bそのリポジトリのマスター ブランチを現在のブランチのサブディレクトリにマージしたいと考えています。

必要なコマンド シーケンスは次のとおりです。

$ git remote add -f Bproject /path/to/B
$ git merge -s ours --no-commit Bproject/master
$ git read-tree --prefix=dir-B/ -u Bproject/master
$ git commit -m "Merge B project as our subdirectory"

$ git pull -s subtree Bproject master

コメントについては、記事「サブツリーのマージとあなた」も参照してください。

于 2012-09-03T07:32:29.927 に答える
1

回答として受け入れたい場合は、回答のコミュニティ wiki バージョンを次に示します。


これは私の質問に答えます:

http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html

于 2008-11-06T03:41:12.663 に答える