Сохранять файлы git --assume-unchanged между проверками веток

Я использовал 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
#

Но теперь он снова в индексе (тьфу)! Есть ли лучшая альтернатива этому рабочему процессу?

[Меня не особенно волнует, остаются ли локальные изменения локально (иначе, это нормально, если это производственная ветка), я просто не хочу, чтобы они отправлялись в удаленный репозиторий.]

36
задан Jeff 22 March 2012 в 01:54
поделиться