Заставить git не изменять файлы в моем рабочем дереве - PullRequest
1 голос
/ 03 марта 2012

У меня следующая ситуация:

Я работаю над совместным проектом, и мы используем github. Существует файл с именем user_info.csv, который отслеживается. Есть коммиты, которые были выдвинуты различными людьми, которые модифицируют его.

Для тестирования я хотел бы перечислить в нем своих собственных пользователей, а не делать git-обновление, даже когда коммиты указывают, что это нужно. Например, если я извлекаю старый коммит или выполняю извлечение, все файлы в моем рабочем дереве, которые отслеживаются, должны быть изменены, кроме user_info.csv.

Как сделать так, чтобы git не изменял user_info.csv даже при извлечении / переключении веток, а также постоянно исключал его из моего индекса?

Я пытался:

  • .gitignore
  • $GIT_DIR/info/exclude
  • git update-index --assume-unchanged

Ответы [ 2 ]

2 голосов
/ 03 марта 2012

Спросите себя, действительно ли файл принадлежит контролю версий?

Если каждый изменяет файл для личного использования, то этот файл следует преобразовать в шаблон, который отслеживается (например, user_info.template), и все соавторы могут создавать свои собственные user_info.csv, который находится в exclude или .gitignore.

Однако, если файл необходим программе и все нуждаются в , вам следует подумать о том, как вы можете это сделать.сделайте это по-другому:

  1. создайте новый файл и сохраните его копию вне проекта и копируйте его при каждом извлечении.
  2. имеет отдельный файл с вашими изменениями и измените ваши тестовые файлы, чтобы использовать этот файл вместо
  3. create fixtures для ваших тестов, которые вообще не содержат файл (конечно, в зависимости от среды тестирования)
  4. При выполнении тестов создайте новый файл со скриптом и удалите его, когда закончите тестирование.
0 голосов
/ 03 марта 2012

Пока файл отслеживается Git, он всегда будет применять изменения из других веток, потому что это то, что он делает . Отслеживание контента, вы знаете. :)

Либо удалите файл (осторожно, он также удалит его из репозиториев других людей, когда они получат этот конкретный коммит от вас), либо просто удалите его, обновите и переместите обратно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...