Отметить файл в репозитории GIT как временно проигнорированный

Мы переходим от Perforce к GIT. В perforce были некоторые файлы, которые я хотел бы разместить в репозитории, но они не должны регулярно проверяться отдельными разработчиками. Такие вещи, как файлы проекта eclipse. Каждый разработчик может получить исходный файл .project, но затем слегка подстроить его для своей среды.

С P4 я могу взять эти файлы, поместить их в отдельный список изменений и забыть о них. Синхронизация не будет перезаписывать их, и они не будут зафиксированы, когда я перечислил список изменений по умолчанию.

Есть ли способ сделать что-то подобное с GIT?

Я бы все еще был в состоянии "git commit -a"

Ответ 1

Если вам нужна общая база для этих (.project, .classpath,...), вы можете:

  • версия версии этих файлов (.project_tpl, .classpath_tpl,...)
  • используйте фильтр для генерации, при проверке, фактических файлов (которые не будут версироваться и модифицироваться локально разработчиками)

alt text

(шаг "clean" во время фиксации ничего не сделает для этих шаблонов.
Здесь используется только шаг smudge ', чтобы сгенерировать личные файлы)

Примечание. Это небольшое "неправильное использование" драйвера фильтра, который должен обрабатывать только содержимое файла, а не создавать новые.
Но это может помочь вам в вашем сценарии (если ваш "smudge" script не перезаписывает слепые файлы eclipse, если они уже здесь.)

Ответ 2

Возможно, вы ищете

git update-index --assume-unchanged .project