Должен ли я зафиксировать все изменения каталога после svn: игнорировать все файлы.iml?

В проекте, над которым я работаю в IntelliJ, в среде IDE создается группа файлов типа.iml. При взгляде на svn st в моем каталоге проекта все эти файлы показаны. Не желая фиксировать все эти связанные с IDE файлы в моем хранилище, я решил игнорировать этот тип файлов (как описано здесь):

svn propset svn:ignore "*.iml" .

Тем не менее, теперь мой проект показывает все мои подкаталоги как измененные, когда я проверяю статус subversion (svn st). Я не хочу просматривать огромный список модификаций при подготовке к фиксации изменений, но я не решаюсь фиксировать все эти измененные каталоги.

Первый вопрос. Является ли игнорирование файлов.iml хорошей практикой при фиксации проектов IntelliJ?

Второй вопрос: безопасно ли фиксировать все мои каталоги проектов, которые были изменены в результате игнорирования файлов.iml?

Обновление: я решил откатить игнорирование файлов.iml, так как список файлов.iml короче, чем список измененных каталогов, которые мне нужно было бы зафиксировать. Я до сих пор не чувствую, что нашел для этого четкую лучшую практику. У кого-нибудь, кто регулярно кодирует с IntelliJ IDE, есть хорошее решение?

1 ответ

Решение

Вопрос 1: это те .iml файлы, сгенерированные автоматически из других элементов, которые являются версионными или специфичными для вашего пользователя / рабочей станции? Если так, то да, вы не должны делать это (и игнорирование поможет вам в этом).

Вопрос 2: Если все, что вы делаете, это изменение свойств каталогов, тогда да. Если вы изменили файлы, которые вы также фиксируете, будут ли они нарушать сборку или иным образом нарушать какие-либо правила, которые ваш процесс разработки имеет для того, что следует и не следует фиксировать (и когда)?

Мое эмпирическое правило заключается в том, что каждый коммит должен быть связан только с одним изменением. Так что в этом случае я бы совершил только svn:ignore изменения свойств, и если бы у меня были другие незафиксированные изменения, я бы зафиксировал их отдельно. Причина в том, что если мне придется откатить изменение позже, я не потеряю изменение A, потому что изменение B было в том же коммите, даже если они не связаны.

Другие вопросы по тегам