Я использовал git --assume-unchanged yacs/settings/development.py
, чтобы игнорировать мой локальный файл конфигурации базы данных в моей ветке dev. Но когда я хочу переключать ветки (для развертываний), я получаю сообщение об ошибке, что у меня все еще есть изменения:
% git checkout production
error: Your local changes to the following files would be overwritten by checkout:
yacs/settings/development.py
Please, commit your changes or stash them before you can switch branches.
Aborting
Это раздражает. Единственный способ, которым я знаю, как обойти это, - это спрятать его:
% git stash
% git checkout production
% git merge dev
% ./deploy.sh
% git checkout dev
% git stash pop
# On branch dev
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: yacs/settings/development.py
#
Но теперь он снова возвращается в индекс (тьфу)! Есть ли лучшая альтернатива этому документообороту?
[Мне неинтересно, что локальные изменения остаются локально (ака, это нормально, если это производственная ветка), я просто не хочу, чтобы это было перенесено в удаленный репозиторий.]