コミットする前にファイルからすべてのコメントを削除する.gitattributesクリーン フィルターがあります。
$ cat .git/config
[filter "cleancomments"]
clean = "grep -v '^#'"
$ cat .gitattributes
* filter=cleancomments
そして、次のコンテンツを含む「テスト」ファイルがあります(リポジトリにコミットされています):
This is a file with random content
ここで、「test」に変更を加えてコメントを追加します。
This is a file with random content
# and some comments
# like this
git status
今私に言います:
modified: test
しかしgit diff
空です(そうあるべきです)。
git status がフィルターを使用してファイルが変更されたかどうかを判断しない理由は完全には明らかではありませんが、これが実装方法であると思います。
私にとって本当に不思議なのは、次のとおりです。
私がこれを行う場合:
git add test
その後、突然、ファイル「test」は変更済みとしてマークされなくなり、git インデックスに表示されなくなります。どうしてこれなの?