Я использовал git --assume-unchanged yacs/settings/development.py
, чтобы игнорировать файл конфигурации локальной базы данных в моей ветке разработчика.Но когда я хочу переключить ветви (для развертываний), я получаю сообщение об ошибке, в котором все еще ожидают изменения:
% 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
#
Но теперь он снова в индексе (тьфу)!Есть ли лучшая альтернатива этому рабочему процессу?
[Меня не особо волнует, остаются ли локальные изменения локальными (ака, это нормально, если это производственная ветвь), я просто не хочу, чтобы их переносили вудаленный репозиторий.]