7

ブランチをローカル リポジトリからサム ドライブにプッシュするときに発生するエラーを解決するための助けが必要です。問題は、異なるドライブ間を行ったり来たりすることによって引き起こされたと思います。特に、私は1つを失い、代替品を使い始めました. その後、オリジナルを見つけたときに、元に戻しました。今、私の参照/頭のいくつかが台無しになっているようです。たとえば、ブランチをプッシュしようとすると、次の出力が得られます。

$ git push origin android-lite 
Counting objects: 111, done.
Compressing objects: 100% (98/98), done.
Writing objects: 100% (109/109), 29.63 KiB, done.
Total 109 (delta 40), reused 0 (delta 0)
error: unable to resolve reference refs/heads/android-lite: No such file or directory
remote: error: failed to lock refs/heads/android-lite
To /media/2AC0-E4E2/devel/src/java/bbct/
 ! [remote rejected] android-lite -> android-lite (failed to lock)
error: failed to push some refs to '/media/2AC0-E4E2/devel/src/java/bbct/'
$ 

私の理解が正しければ、これは refs/heads/android-lite が元々存在しないことを示しています。しかし、なぜgitが新しいブランチを作成しないのか混乱しています。Android-lite ブランチが既に元の場所に存在することを示す何かが私のローカル リポジトリにありますか?

4

1 に答える 1

2

リモートリポジトリのデバッグが複雑すぎる場合 (この質問のようgit gcgit prune、、、、git fsck...)、次のことができます。

  • git bundleあなたの現在のレポ、それはあなたに1つのファイルだけを与えるでしょう、
  • その1つのファイルをリモートドライブにコピーします
  • そのバンドルファイルから git clone
  • 現在のリモートアドレスをその新しいパスに設定します

これは「 2 つの git リポジトリを同期する方法」に少し似ており、このタスクにバンドルを使用すると、ファイル エラー コピーがないことを確認できます。

于 2012-12-31T23:57:24.647 に答える