1

私はGITリポジトリに取り組んでいます(Aここで呼び出されます)。サブモジュールが含まれています(Bここで呼び出されます)。Abyの新しいコピーを複製するとき

git clone --recursive <repository url for A>

ABは複製されていますが、 のバージョンはB最新ではありません! どんなに更新しても

git submodule update

だけクローンしたらB最新です。

なにが問題ですか?私の git バージョンはgit version 1.7.7.5 (Apple Git-26)で、リポジトリは ですbitbucket

4

1 に答える 1

3

A の中にいる間cd、B がある dir に移動します。

cd path/to/B/inside/A

checkoutこれで、A に入れたい任意のコミットを行うことができます。

git checkout <branch or commit>

fetch(これより前に/pull最新の変更が必要になる場合がありますcheckout。)

A のルート ディレクトリに戻り、変更をコミットします。

cd -
git add path/to/B/inside/A
git commit -m "Update submodule B pointer."

これから、コミットするのgit cloneか。git submodule updatecheckout

B は A から独立しているため、B はブランチに関して任意の状態を持つことができますが、A のサブモジュールとして、A が必要とするコミットを指すことに注意してください。これにより、2 つのリポジトリの独立した開発が可能になります。

于 2012-09-22T15:08:25.653 に答える