2015-12-22 8 views
0

В настоящее время у нас есть проблема в одном из наших проектов, где Stash (gat) Atlassian обрабатывает определенные файлы в папке source (в нижнем регистре), а все остальное находится под Source (capital). Последняя является правильной папкой.Stash (git) показывает файлы в одной папке с другим корпусом

Когда мы вытаскиваем источник из удаленного репо, существует только одна папка. Это имеет смысл, потому что мы работаем над машинами Windows, и ОС предотвратит две папки, которые отличаются только случаем. К сожалению, когда мы пытаемся объединить ветки, файлы в нижнем регистре воспринимаются как удаленные, поэтому инструмент слияния (Visual Studio) пытается их удалить. Один из них - файл .csproj, поэтому вы можете представить себе причину этого вреда!

Мы не можем понять, как это произошло, и мы не можем понять, как его отменить, поэтому все файлы исправлены правильно. В результате каждый раз, когда мы думаем, что мы его исправили, это происходит снова.

Любые идеи, что вызвало это и что мы можем сделать, чтобы решить проблему?

+0

Это может помочь: http://stackoverflow.com/questions/52950/how-to-make-git-ignore-changes-in-case –

+0

может вы 'мерзавец rm' папку' мерзавец commit' а затем «git add» обратно в следующую фиксацию с указанным случаем? –

+0

@ Jonathan.Brink, похоже, исправил проблему. Отправьте свое предложение и ответ, чтобы я мог отметить его как правильно. – SonOfPirate

ответ

0

Используйте настройку ignorecase. Вы можете установить это во всем мире так:

git config --global core.ignorecase true 

core.ignoreCase Если это правда, то эта опция позволяет различные обходные пути, чтобы позволяют Git лучше работать с файловыми системами, которые не чувствительны к регистру, как FAT. Например, если список каталогов находит «makefile», когда Git ожидает «Makefile», Git предположит, что это действительно тот же файл, и продолжать запоминать его как «Makefile».

Смежные вопросы