以下に示す 2 つの git リポジトリがあります。1 つ目は、典型的な python プロジェクトのように構成されています。
foo_repo/
.git/
setup.py
foo/
__init__.py
some_code.py
tests/
bar/
.git/
foo_repo/foo/
ディレクトリをサブツリーとして含めたいのですが、更新をfoo_repo リポジトリから bar に、またはその逆bar/
にマージできるようにしたいと考えています。foo_repo/foo/some_code.py
初期設定も悪くない。私が使用するfoo/
ディレクトリから:
git subtree --prefix=foo/ split -b export
次に、ディレクトリの内容のみを含む新しいブランチを foo_repo に作成しfoo_repo/foo/
ます。これをバーに取り込むには、bar/
ディレクトリに移動して次のようにします。
git subtree --prefix=foo/ add ../foo_repo/.git export
foo/
すべての準備が整ったので、コード開発を行い、両方のリポジトリを最新の状態に保ちたいと思います。バーから押すと、私は理解したと思います。bar/
ディレクトリから:
touch foo/more_code.py
git add foo/more_code.py
git commit -m "more code"
git subtree --prefix=foo/ push ../foo_repo/.git export
次に、foo_repo/
ディレクトリから:
git checkout master
git subtree --prefix=foo/ merge export
他の方法でマージすることは、私が立ち往生しているところです。からfoo_repo/
:
git checkout master
touch foo/yet_more_code.py
git add foo/yet_more_code.py
git commit -m "yet more code"
???
は、ディレクトリをブランチとマージ???
するコマンドです。次に、から:foo/
export
bar/
git subtree --prefix=foo/ pull ../foo_repo/.git export
だから私は基本的に、???
その場で使えるライン、または同じことをする別のワークフローを探しています. 繰り返してみましたがうまくいきgit subtree --prefix=foo/ split -b export_foo
ません。