0

「コア」といくつかのコンポーネントという、いくつかの分離された Git リポジトリがあります。それぞれに、ビルドに含まれていることを示す「v1.0.1」のようなタグが付いています。タグはすべてのリポジトリで同じです。ここで、これらのリポジトリをタグごとに履歴を保持する単一のリポジトリに結合する必要があります。これの目的は、(タグに基づいて) 過去のリリースをビルドできるようにする必要があることです。リポジトリ内のファイルは競合しません (.gitignore を除く)。

「コア」を試しgit reset v1.0.1た後、他のリポジトリ(コアにリモートとして追加)の対応するタグとマージしましたが、ブランチgit merge comp1/master v1.0.1からのすべてのコミットをマージします。comp1/masterソースのHEADではないコミットでgitマージを行うことは可能ですか? 多分別のアプローチがありますか?

4

1 に答える 1

1

をポイントしているため、すべてマスターでcomp1/masterマージします。マージするタグをポイントするだけです。

ここでは、タグを指すように言っていますが、すべてのタグはすべてのレポで同じ名前を持っていると思います。タグ名は一意でなければならないため、これは機能しません。

fetchそのため、コンポーネント リポジトリから開始git fetch componentARemoteする必要があります (フェッチするブランチを選択する必要がある場合があります)。

これが完了すると、コンポーネント リモートからのすべてのコミットが git リポジトリにマージされます。次に、コンポーネントブランチのshaタグが指すコミットが何であるかを確認できます。v1.0.1そして、sha を指定してマージします。

git checkout v1.0.1 # this is your core tag
git merge <sha id>
# and here you are, you merged only the relevant component tag
于 2013-05-08T18:55:14.827 に答える