2015-06-12 3 views
0

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

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

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

Итак, я могу работать с каким-то образом не совершая файл gitignore, если он просто берет на себя обязательство избегать совершения 8-10 других файлов с моих плеч. Или, может быть, есть другое решение, в котором я могу сказать git игнорировать эти файлы каждый раз, когда он фиксируется? Откройте для лучшего решения.

ответ

0

Вы можете добавить свой .gitignore в файл .gitignore! Таким образом, ваш файл .gitignore не будет выполнен. Если вы используете gitignore для других вещей, а также, рассмотреть возможность использования локального файла gitignore для каталога

+0

Одно из преимуществ этого ответа заключается в том, что файл '.gitignore' находится внутри каталога, вы можете перемещать его по каталогу, и он будет игнорироваться. – o11c

0

Вы можете добавить определенный пользователем .gitignore

Can I make a user-specific gitignore file?

git config --global core.excludesfile $HOME/.gitignore 

Затем вы можете заполнить .gitignore в ваш homedir игнорировать файлы

+0

Итак, что-нибудь, что я могу добавить в этот домашний каталог gitignore, никогда не будет доступен для совершения? – xmaestro

+0

Да, для всех ваших проектов git, но если вы добавите комментарий о том, почему его там, вы должны иметь возможность управлять довольно легко. – exussum

+0

Обычно ~/.gitignore следует использовать только для файлов, которые вы могли бы генерировать в * all * проектах, таких как как файлы резервных копий редактора. – o11c

0

Вы можете использовать .git/info/exclude в качестве версии .gitignore с местным репо. Для подмодуля, где .git - это файл вместо каталога, вам нужно вытащить туда, куда указывает файл .git, а затем использовать info/exclude.

Также можно использовать некоторые хаки с git update-index --assume-unchanged что особенно полезно, если файл делает существует в удаленном репозитории, но вы хотите, чтобы некоторые местный редактирует игнорироваться. Но обычно лучше просто отправить файл .example

0

Я попробовал решение @ exussum, но это не работало для меня, поскольку файлы уже были проверены. Вместо этого я нашел update-index и добавил файлы вручную в списке игнорирования.

Это решение не будет стоять против головки сброса, но по крайней мере, игнорирует файлы на некоторое время и снижает риск проверки в ненужных файлов.

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