1

だから私はgitを使ってこのプロジェクトに参加しています。

たくさんのソース ファイルと参照するいくつかのライブラリがあります。ライブラリはサブモジュール (BulletPhysics など) として git に入れられ、私たちのチームによって変更されることはありません。

マーフィーの法則によると、この変更はコミット/プッシュとともに発生しましたが、これは何の効果もないように見えました...

...誰かがローカルレポを失い、再クローンする必要があるまで。まあ、プロジェクトの一部が実際にダウンロードされるだけですが、弾丸に関しては、

Unable to checkout 'cc1b481c8ec2868595db30303d88bd12bc1bcf2a' in submodule path 'extern/bullet'

私たちのスーパーバイザーは、弾丸を変更しようとした commit/push アクションによって壊れており、これを行う権利がなく、これを修正する方法がわからないと言いました.

彼を判断せずにこれを修正するのを手伝ってくれる人はいますか? ;)

よろしく、LDer

4

1 に答える 1

0

私は解決策を見つけました:

(ウェブ上のいくつかの情報源を組み合わせたものです。自由に独自のコメントを追加してください。)

まず、ターミナルのサブモジュール フォルダーに移動します。私の場合、/path/to/.../project/extern/bullet. そこで以下のコマンドを実行

cd /path/to/.../project/extern/bullet

「git log」を使用して、最後の有効なコミットの sha-id を見つけます。私の場合、「cc1b481c8ec2868595db30303d88bd12bc1bcf2a」の前のものです。ご想像のとおり、「c2720237e96e126dddb37f0496242d3adbf31ab0」でした。これはそれを修正する必要があるものです:

git reset --hard c2720237e96e126dddb37f0496242d3adbf31ab0
git submodule init
git submodule update
cd /path/to/.../project
git add extern/bullet
git commit
git push

これまでのところ、レポは期待どおりに機能します。

よろしくお願いします。

于 2012-12-19T18:39:45.990 に答える