Переключить ветку без изменения локально игнорируемых файлов - PullRequest
0 голосов
/ 10 октября 2018

У меня есть определенные файлы, которые мне нужно иметь на промежуточном сервере и клиентские репозитории.Например, файл .htaccess.

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

Затем я запустил git update-index --assume-unchanged .htaccess (я также пытался--skip-worktree)

Но теперь, когда я пытаюсь переключить ветку git checkout myotherbranch, я получаю это сообщение:

ошибка: ваши локальные изменения в следующих файлах будут перезаписаны извлечением:.htaccess Пожалуйста, передайте изменения или спрячьте их, прежде чем переключать ветки.Прерывание

Но поскольку я игнорирую файл, я не могу его спрятать.

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

Я думаю, что проблема в том, что у ветви, на которую я переключаюсь, есть версия файла .htaccess, отличная от моей текущей ветви.

Есть ли способ переключиться на эту ветку при локальном наличии файлаигнорируется?

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

1 Ответ

0 голосов
/ 10 октября 2018

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

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