.gitattributes & individual merge strategy for a file

У меня есть мастер и тестовая ветвь моего (веб-) приложения. Эти проекты почти одинаковы, за исключением одного файла, который устанавливает приложение, скажем "setup".

Всякий раз, когда я объединяю одну ветку с другой, я хотел бы, чтобы эта ветка сохраняла свою версию setup. То есть, git не должен пытаться объединить изменения в этом файле.

Я последовал указаниям из книги Pro Git и создал файл .gitattributes со строкой "setup merge=ours". Однако это не работает - ни при быстром слиянии, ни при внесении конфликтов.

(Точнее:

$: mkdir gitest
$: cd gittest
$: git init
$: echo "setup merge=ours" >> .gitattributes 
$: echo "master" >> setup
$: git add setup .gitattributes
$: git commit -a -m ...
$: git branch test
$: git checkout test
$: echo "test" >> setup
$: git commit -a -m ...
$: git checkout master
$: git merge test

Ожидаемый результат: setup содержит слово "master", вместо этого git выполняет ff merge и setup становится "test".)

17
задан ax. 29 January 2018 в 16:08
поделиться