7

私たちのプロジェクトはいくつかのサードパーティのオープンソース ライブラリを使用しており、そのうちのいくつかはカスタムの変更が必要です。

ライブラリごとに、独自のローカル git リポジトリを作成し、元のソースの場所をベンダーリモートとして追加し、そこからクローンを作成し、必要に応じて変更して、内部のリモート リポジトリ ( originと呼びましょう) にプッシュしました。

これらのリポジトリは、コア プロジェクトのサブモジュールとして使用されます。

問題: 「vendor」のリモートURL は「origin」に伝播されないため、内部ライブラリ リポジトリを複製した人には失われます。

ライブラリの新しいアップストリームの変更をマージするたびに、ベンダーリモートを見つけて手動で再度追加する必要があります (または、まだ利用可能な場合は、最初に作成したのとまったく同じローカル リポジトリを使用します)。

すべての開発者が配布して使用できるように、ベンダーリポジトリの URLを保存するより良い方法はありますか? ライブラリに追加のファイル (例: clone_from_here) を追加することも、あまり洗練されていないように見えます。

4

1 に答える 1

1

を介してそれを行うことができます.git/config。変更を正常にプルまたはプッシュした後、.git/configファイルを確認し、リモートurlfetch

開発者がリポジトリのクローンを作成したら、開発者のマシンで開き、.git/configコピーした行を追加します。例 -

[remote "vendor"]
    url = git@xxx.com:xxxxx/xxxxxxx.git
    fetch = +refs/heads/*:refs/remotes/origin/*

この例では、開発者はベンダーにプッシュまたはプルできます。

フェッチURLの記述をさらに制御する必要がある場合は、gitguysに優れたドキュメントがあります-http: //goo.gl/JGaKD

于 2012-01-04T05:28:03.713 に答える