2

cygwin と git が付属しています (1.7.9)。ネットワーク共有ドライブ (r:/) にリポジトリがあります。私の同僚は全員 Windows で git を使用しています (また、リポジトリは Windows MSYS git 1.8.3.msysgit.0 で作成されています)。私のOSはWin7です。

git push を実行していると、「fatal - bad object error」で終了することがあります。奇妙なことに、3 回連続で git push を実行すると、最後の 1 回で正しく実行されます。

なぜそれが起こるのか誰にも分かりますか?そして、プッシュを3回しても安全ですか?

rb@L18021: ~math/test/pc_env$ git push
Counting objects: 12, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 702 bytes, done.
Total 7 (delta 5), reused 0 (delta 0)
Unpacking objects: 100% (7/7), done.
fatal: bad object e4cecab43c0122ade56f6ff6e13d5c98e1462968
fatal: bad object e4cecab43c0122ade56f6ff6e13d5c98e1462968
error: unpack should have generated e4cecab43c0122ade56f6ff6e13d5c98e1462968, but I can't find it!
To /cygdrive/r/E51/Internal/850_DevTempRepo/LAS_PAS.git
 ! [remote rejected] master -> master (bad pack)
error: failed to push some refs to '/cygdrive/r/E51/Internal/850_DevTempRepo/LAS_PAS.git'
rb@L18021: ~math/test/pc_env$ git push
Counting objects: 12, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 702 bytes, done.
Total 7 (delta 5), reused 0 (delta 0)
Unpacking objects: 100% (7/7), done.
fatal: bad object e4cecab43c0122ade56f6ff6e13d5c98e1462968
fatal: bad object e4cecab43c0122ade56f6ff6e13d5c98e1462968
error: unpack should have generated e4cecab43c0122ade56f6ff6e13d5c98e1462968, but I can't find it!
To /cygdrive/r/E51/Internal/850_DevTempRepo/LAS_PAS.git
 ! [remote rejected] master -> master (bad pack)
error: failed to push some refs to '/cygdrive/r/E51/Internal/850_DevTempRepo/LAS_PAS.git'
rb@L18021: ~math/test/pc_env$ git push
Counting objects: 12, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 702 bytes, done.
Total 7 (delta 5), reused 0 (delta 0)
Unpacking objects: 100% (7/7), done.
To /cygdrive/r/E51/Internal/850_DevTempRepo/LAS_PAS.git
   84e96ef..e4cecab  master -> master
rb@L18021: ~math/test/pc_env$ git --version
git version 1.7.9
4

1 に答える 1

1

git を更新してみてください。そのために、cygwin のセットアップ バイナリを再度実行します (そして、cygwin 環境全体を更新するためのデフォルトをそのまま使用します)。

説明されている問題があったと思いますが、プッシュしようとしたのは 2 回だけでした。コメントでCupcakeが示唆しているように、問題の原因はcygwinに同梱されている古いgitバージョンだったと思います。今日、1.7.9 から 2.0.4 にアップデートしたところ、うまくいきました。

あなたの状況で3回押すのが安全かどうかはわかりません。

于 2014-08-27T08:10:17.680 に答える