未分類

Dropboxにいれたgitリポジトリが[マシン名]'s conflicted copy](不整合)で壊れた場合の対処

gitでバージョン管理、GitHubに定期的にプッシュしていれば良いのでgitリポジトリをDropboxに入れておくのはあまり良いプラクティスではありません。

が、私の場合はcommitもstashもしていないファイルを安全に保管しておくためDropboxに入れています。

どういうタイミングで発生するのかはよく分かっていませんが一人で作業していてもたまーに"(ymbpr's conflicted copy yyyy-mm-dd)"というファイルが作られ、gitが混乱してしまうことがあります。

$ git pull
fatal: Reference has invalid format: 'refs/heads/master (ymbpr's conflicted copy 2012-07-05)'

大抵の場合$ find . -name “conflicted copy” *で見つかるファイルを削除すれば解決しますが今回はだめでした。

.gitディレクトリ内をgrep($ cd .git;grep conflicted * -r)したところ.git/packed-refs内に以下のような行が見つかりました。。

b98126521c3960ea8f9ca0b0c9653a27a04ed675 refs/remotes/origin/master (ymbpr's conflicted copy 2012-07-05)

このファイルが何を示しているのかわ知りません(!)が、これによりGitが混乱しているのは確実。
そこでpacked-refsをテキストエディタで開いて"(ymbpr's conflicted copy yyyy-mm-dd)"を含む行を削除したら解決しました。