私はgitリポジトリに何かをコミットするたびに、私はもはや存在しないいくつかのファイルを言及する(明らかに無害な)エラーメッセージを取得しています:gitのエラーメッセージをコミットします。(以前に削除されたソースファイル)を開くことができません
$ git commit -a
error: Could not open cssrc/csgrpc/Main.cs
error: Could not open cssrc/csgrpc/Main.cs
Recorded preimage for 'cssrc/csgrpc/Main.cs'
... more 3-line groups like one above ...
[x017-upgrade a86861b] Point Audio to new location of....
1 file changed, 1 insertion(+), 1 deletion(-)
ファイルは当初で維持されたサブツリーの一部でしたが、このプロジェクトではこれ以上必要ではない(したがって以前に変更されてコミットされたため競合していた)ので、git subtree pull
の間に削除されました。
ファイルが実際にインデックスにもworktreeにも見られない:
$ git ls-files -cs | grep Main.cs
$ find -name 'Main.cs'
$
rerere.enabled
オプションがtrue
に設定されています。それは犯人ですか?これらのファイル名へのポインタがどこに格納されていますか?それをきれいにする方法?
rerereレコードは '.git/MERGE_RR'です。ただし、そのファイルは、マージを中断または完了したときにクリーンアップされている必要があります。 – torek
@torek:ファイルには、 'git rerere clean'によってのみ削除された3つのレコードが含まれていました。下の回答を確認してください(最近大きく拡大されています)。私は現在、ステップ41で混乱しています。 :) – kkm