私はすでにこの質問をstackoverflowに投稿しましたが、答えはありませんでした: click
Ubuntuでこの問題が発生しているので、質問をここに再投稿します。これが禁止されていないことを願っています。
WindowsとLinuxで実行する(Qt)アプリケーションを開発しています。ですから、WindowsとLinuxでも開発できるようになりたいです。
したがって、Linux(Ubuntu 13.10)でマウントしたNTFSパーティションに(gitリポジトリとして)プロジェクトを保存しました。コンパイルされた実行可能ファイルの権限の問題を回避するために、Linuxでシャドウビルドディレクトリをホームフォルダーに設定します。
このアプローチはこれまでのところうまくいきません。しかし、私を心配させるいくつかの効果があります:変更されたファイルを(smartgitで)ステージングすると、smartgitはそれらをステージングしたことを反映しません。それらは未ステージとして表示されます。
コミット時の同様のこと:コミット後、コミットされた変更は、コミットされていないかのように表示されます。しかし、ログではそれらがコミットされていることがわかります。リポジトリを再度開くと、この問題が解決されるか、少なくとも回避策となります。
しかし、LinuxのNTFSパーティションでレポを使用してレポを壊すのではないかと心配しています。それとも、私のレポがその方法でいつか破損しているというリスクはありませんか?
これはファイルモードが原因で発生します。 WindowsとLinuxはファイルの書き込み方法が異なるため、どちらのファイルも常に「新規」です。ディレクトリにこれを入力してください:
git config core.filemode false
ファイルシステムの変更はインデックスから消えます。