Я уже опубликовал этот вопрос в stackoverflow, но не получил ответа: щелкните
Так как у меня возникла эта проблема в Ubuntu, я перепостил свой вопрос здесь. Я надеюсь, что это не запрещено.
Я разрабатываю (Qt) приложение, которое должно работать под Windows и Linux. Поэтому я хочу иметь возможность разрабатывать и под Windows, и под Linux.
Поэтому я сохранил свой проект (как git repo) в разделе NTFS, который я монтирую под Linux (Ubuntu 13.10). Чтобы избежать проблем с правами скомпилированного исполняемого файла, я установил каталог теневой сборки в мою домашнюю папку под Linux.
Этот подход пока не работает. Но есть некоторые эффекты, которые заставляют меня беспокоиться: если я создаю некоторые измененные файлы (с помощью smartgit), smartgit не отражает того, что я их ставлю. Они по-прежнему отображаются как неподключенные.
Аналогичная вещь при фиксации: после фиксации зафиксированные изменения по-прежнему отображаются так, как будто они не зафиксированы. Но в журнале я вижу, что они зафиксированы. Закрытие вновь открыть репо "решает" эти проблемы или является обходным путем, по крайней мере.
Но у меня есть опасения, что я сломаю репо, используя его на NTFS-разделе под Linux. Или нет никакого риска, что мое хранилище испортится однажды, используя его таким образом?
это происходит из-за файлового режима. Windows и linux пишут файлы по-разному, поэтому для них обоих файлы постоянно «новые». введите это в свой каталог:
git config core.filemode false
и изменения файловой системы исчезнут из вашего индекса.