2011-09-11 8 views
14

レポをプッシュするときに、My BatteryがMacBookで枯渇しました。 今私はgit statuscant fixの不正なオブジェクトgitステータスのHEADエラー

$ git status 
fatal: bad object HEAD 
fatal: git status --porcelain failed 

を実行することはできません、私は悪いオブジェクトのエラーを修正するために発見アイブいくつかの提案を試みました。

$ git fsck --full 
dangling tree 65e856976b7aa7c73f15cd71defedb8a3d622a10 

私はgit prunegit prune-packed

私はまだ、スタッシュをコミットすることができ、プッシュを試みた、それだけでgitの状態に

アンディのアイデアに影響を与えているように見えますか?

おかげで、あなたの.git/HEADが破損しているまたは破損オブジェクトへのポイントは、あなたが手動またはgit checkoutことによってそれを変更することができるかどう

+0

私はまったく同じ問題を抱えていました。ソリューションをありがとう! – Mauren

答えて

2

+0

こんにちは、試してみましたが、違いはありません。 HEADはrefs/heads/masterには – Rob

+0

を指していますが、refs/heads/masterは存在しません。 – Rob

+0

したがって、実際のブランチをチェックアウトする必要があります(存在する場合は 'refs/heads/master'を復元する必要があります)。しかし、refは通常 '.git/packed-refs'にあります。 – wRAR

0

gitのステータスの前に、変更したすべてのファイルをgit add filepath/file.extで追加してみてください。

28

私はあなたがすでにこの問題を解決したが、私はこれを持っていた。これは、作業状態になりました実行

git pull 

するだけでそれを修正することができると思います。あなたのファイルはそのままでローカルのgitディレクトリをバックアップしてからgit pullを実行してください。その後、あなたはビジネスに戻ってくるはずです。

削除されたファイルがある場合(それは起こらない)、作業中のチェックアウトにコピーしてそこからコミットできます。

+1

簡単に修正でき、うまく機能しました。ヒントをありがとう! –

+1

これは私のために働いたが、私が引っ張る前に、地元の変化を最初に隠す必要があった。ありがとう。 –

2

これは、誤って自分のbin/folderをEclipse Javaプロジェクトに追加したときに起こりました。

「git pull」を使用しても機能しませんでした。

私はでそれを修正:Eclipseを閉じ

  1. のrm -rfビン

は、その後、私は 'gitのコミット' と正常に継続することができたのgitのrmビン。

1

これが私の仕事:

git fetch origin 
git reset --hard origin/master 
0

git checkout -f *branchname*は私のために働きました。

関連する問題