私はperlコードベース(ブランチmaint-5.004)で作業しているときに次の動作を観察しました:
bash-3.2$gitステータス| grepが変更されました #変更:構成 bash-3.2 $ git reset --hard HEADは現在9a4fb7eにあり、bleads.gitignoreをコピーします。 bash-3.2$gitステータス| grepが変更されました #変更:構成 bash-3.2 $ git reset --hard HEADは現在9a4fb7eにあり、bleads.gitignoreをコピーします。 bash-3.2$gitステータス| grepが変更されました #変更:構成
これは、2つのファイルがiノードを共有している(同じファイルである)が、gitインデックスが異なるために発生しています。私の質問は:それはどのように起こったのですか?gitが同じファイルへの2つのリンクを追跡している場合、そのうちの1つだけが変更されたときに、gitがエラーとしてフラグを立てることを期待する必要がありますか?これはgitのバグですか、それともユーザーエラーですか?
アップデート:
問題はgitにあるのではなく、ファイルシステム(hfs +)の大文字と小文字の区別に関連しているようです。
$ mkdir tmp $ cd tmp $ touch foo $ ls -i foo Foo 10301082 Foo 10301082 foo
この振る舞いはばかげているので、おそらくOSXを開発のための有用なプラットフォームとして再考する必要があると思います。