Git: Как добавить файлы и подпапки в папку gitignore'd - PullRequest
2 голосов
/ 09 июня 2011

Предположим, у меня есть папка

application/uploads

EDIT

application/uploads/{a}/{b}/{c}/{d}/{e}/{f}/{g}/abcdefghijklmnopqrstuvwxyz

{a},{b},{c},{d},{e},{f},{g} - это хеш-ключи, возможны любые буквенно-цифровые символы

abcdefghijklmnopqrstuvwxyz - is a hashed filename

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

Предположим, теперь я создал ветку "Резервные копии" на рабочем сервере, где я хочу хранить состояние проекта в разные моменты времени.

Для этого мне нужно «добавить» и «зафиксировать» все файлы проекта, включая те, которые находятся в .gitignore

Примечание. Изменение .gitignore в целом является плохой идеей, поскольку

  1. Это может вызвать проблемы при извлечении изменений из ветвей разработки

  2. В сильно загруженном и недавно измененном проекте будет проблема извлечения другой ветки из-за новых неотслеживаемых файлов, которые добавляются каждую секунду сразу после того, как вы закончили добавлять и фиксировать предыдущие

  3. и т.д ...

Итак, вопрос: как заставить git «добавить» файлы, находящиеся под рекламой .gitignore, а затем «зафиксировать» их без фактического изменения .gitignore?

Ответы [ 2 ]

7 голосов
/ 09 июня 2011

Из справочной страницы git-add:

   -f, --force
       Allow adding otherwise ignored files.
1 голос
/ 09 июня 2011

.gitignore позволяет не только игнорировать, но и повторно добавлять, это восклицательный знак:

!add-this-dir/file/whatever

Вы найдете это правильно задокументировано здесь , если вы находитесь втип корпуса git help gitignore.

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