Dropbox
リポジトリを同期するためにgit
を使用していますが、今Push
を試してみるとエラーが発生しています:
fatal: Reference has invalid format: 'refs/heads/master (MacBook-Pro's conflicted copy 2012-10-07)'
そのため、Dropboxは競合を検出し、コピーを作成したようです。 OK、問題ないので、競合するファイルを削除しました。それでも、上記のgitエラーが発生します。
$ git checkout master
M index.html
Already on 'master'
$ git add .
$ git commit -a -m "Cleanup repo"
[master ff6f817] Cleanup repo
1 file changed, 5 insertions(+), 5 deletions(-)
$ git Push
fatal: Reference has invalid format: 'refs/heads/master (MacBook-Pro's conflicted copy 2012-10-07)'
The remote end hung up unexpectedly`
どうすれば修正できますか?ありがとう。
これらのコマンドは元に戻せないため、これについて不明な場合はリポジトリのバックアップを作成してください。
まず、リポジトリディレクトリに移動します。
cd myrepo
競合するファイルを再帰的に検索して削除します
find . -type f -name "* conflicted copy*" -exec rm -f {} \;
最後に、gitのpacked-refsファイルから「競合する」参照を削除します
awk '!/conflicted/' .git/packed-refs > temp && mv temp .git/packed-refs
競合するファイルは複数の場所にある可能性があります。
.git/logs/refs/remotes/Origin/
.git/logs/refs/heads/
.git/refs/remotes/Origin/
.git/refs/heads/
または、.git
サブディレクトリのあらゆる場所を見ることができます:find . -name '*conflicted*'
または、アクティブなブランチをgit branch -a
でリストし、疑わしいものをすべて削除(git branch -d
)します。
これは、同僚がDropboxを更新する前に変更をプッシュしてPCをシャットダウンしたときにも発生します。
とても簡単に解決しました。
競合するコピーを削除しました。 (XXXXの競合したコピーyyyy-mm-dd)
そして普通に引っ張ります。
私の同僚が混乱する前に変更があったことに注意してください。そして、彼は再び変更をプッシュします。今回はシャットダウンなし。 :)
競合するすべてのファイルを.gitフォルダーから削除できましたが、存在しないファイルに関するエラーが引き続き発生しました。
私のための修正は、.git/refs/packed_refs
およびテキスト「conflicted」を含む行の削除。
私にとっては、エラーが発生していました:fatal: Reference has invalid format: 'refs/tags/r0.2:3'
/。git/packed_refsファイルに移動して、refs/tags/r0.2:3
の行を削除できます。
その後、動作し始めました。しかし、なぜそれが最初に起こったのかはわかりません。
同じエラーが発生していました
致命的:参照の形式が無効です: 'refs/heads/somebranch(1)'
次のコマンド用
git branch
次に、コマンドを使用して誤った名前(ブランチ名の後に(1)が続く)を検索しました
find . -name 'somebranch (1)'
そして、それは次の結果を示しました
./.git/refs/heads/somebranch(1)
somebranch IMOの複製バージョンです。そこで、deleteを実行してからfindコマンドを実行して、これを削除しました
find . -name 'somebranch (1)' -print -exec rm -rf {} \;
その後、ブランチコマンドが正常に実行されます
git branch
git checkout master
最初に健全な名前の付いたブランチにアクセスします。
次のような同様のエラーが発生しました
_fatal: Reference has invalid format: 'refs/heads/user-search-api (Sithu's conflicted copy 2016-01-08)'
_
リモートDropboxリポジトリのファイル.git/refs/heads/user-search-api (Sithu's conflicted copy 2016-01-08)
を削除するだけで問題は解決しました。