0

Linux で GitKraken を数年間使用しています。そして、これまでのところ何とかうまく機能していました。しかし、昨日突然、Gitkraken からプライベート リポジトリへの無料アクセスが提供されなくなったというメッセージを受け取りました!! 私は急いでいて、隠しファイルと現在のファイルの違いを確認する必要があったため、ターミナルでそれに関する奇妙な git スクリプトを実行しました。私はそれでうまくいかなかったので、GitKraken の無料トライアルを利用しました。その後、私がやりたかったことはうまくいき、また、1日引っ張ったり押したりすることができました. しかし、昨日私はいくつかのファイルをコミットし、プルしようとすると、「my-branch-name」はどのリモート/ブランチからプッシュまたはプルする必要がありますか? origin/"my-branch-name" と書いて送信すると、次のエラーが表示されます: Cannot read property "fullName" of undefined!

また、ターミナルで git を使用してみました。git status を実行すると、次のメッセージが表示されました。

error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
On branch dev
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
error: index file .git/objects/pack/pack-a08c14513ad1a7f74b2c0ad8883470516745005c.idx is too small
Your branch is based on 'origin/<my-branch-name>', but the upstream is gone.
  (use "git branch --unset-upstream" to fixup)

nothing to commit, working tree clean

Gitkraken によるものか、隠しファイルの差分を表示するために実行したスクリプトによるものか、自分の git ファイルに何が起こったのかわかりません。スタックオーバーフローにも同様の質問がありますが、これらのエラーの両方が含まれているものはありません: インデックス ファイルが小さすぎ、アップストリームがなくなっています!

アップデート:

エラー メッセージで提案されている「git branch --unset-upstream」を適用することで、プルとプッシュを行うことができましたが、それでもすべてのインデックス エラーが発生します。これに加えて、GitKraken でプルしようとすると失敗し、ターミナルで Git status を実行すると、アップストリームに対して同じメッセージが表示されます。

 "Your branch is based on 'origin/<my-branch-name>', but the upstream is gone." 

だから、GitKraken が git ファイルを台無しにしていると思います!

4

1 に答える 1

0

2 つの別個の問題があります。

  1. 指定されたパック ファイルのパック インデックス ファイルpack-a08c14513ad1a7f74b2c0ad8883470516745005c.packが破損しています。正確に何がどのように損傷したかは明らかではありませんが、もはや有効ではなく、Git はそれを読み取ることができません。

    これがレポジトリの唯一のコピーである場合は、コンピュータ ファイル システム全体のバックアップを探してください。これらには、レポジトリが破損する前の正常なコピーが含まれている可能性があります。また、修復を試みるに、損傷したリポジトリの安全なコピー (たとえば、別のコンピュータ、USB スティック、または利用可能なバックアップ ストレージ メディアに 1 つ以上のバックアップ コピー) を作成してください。、ダメージの少ない状態に戻すことができます。

    幸いなことに、パック インデックス ファイルは、Git 自体がパック ファイルから生成するものです。したがって、 を使用して、パック ファイルからインデックスを再構築できますgit index-pack。これは、パック ファイル自体が無傷であることを前提としています。

    この(インデックス)ファイルが破損していることを考えると、他のファイルも破損している可能性があります。このリポジトリのバックアップがある場合は、それを調べて、このリポジトリの代わりに使用することをお勧めします。git fsckこのリポジトリで実行して、他のファイルもチェックするのが賢明かもしれません。

    この問題は、あなたが見たすべてのエラーを生成し、単語の前にerror.

  2. おそらくインデックスが破損しているか、別のアイテムとして、リモート追跡名 が欠落しているか、読み取れませんでした。これにより、メッセージが生成されました。これ完全に正常な場合があります。たとえば、空のマスター ブランチへの切り替え時にアップストリームにメッセージが表示されませんか? を参照してください。refs/remotes/origin/the-name-you-omittedupstream is gone

于 2020-11-26T19:26:11.220 に答える