Предположим, что существует конфликт при перебазировании ветки feature
Git на ветку master
Git:
git init
echo -e "one\ntwo\nthree\nfour\nfive" > foo
git add foo
git commit -m a
echo -e "ONE\ntwo\nTHREE\nfour\nfive" > foo
git commit -a -m b
git checkout -b feature HEAD^
echo -e "One\ntwo\nthree\nfour\nFive" > foo
git commit -a -m c
git rebase master
Конфликтующий файл foo
:
<<<<<<< HEAD
ONE
=======
One
>>>>>>> c
two
THREE
four
Five
Как получить из командной строки файл foo_master
, содержащий
успешное слияние (THREE
и Five
), и в случае конфликта, master
код (ONE
):
ONE
two
THREE
four
Five
Обратите внимание, что он отличается от git checkout --ours foo
, который не содержит
модификаты из feature
успешно применены (Five
):
ONE
two
THREE
four
five
Мне также хотелось бы, чтобы файл foo_feature
, содержащий
feature
код в случае конфликта, но с модификациями из master
успешно примененные (ONE
):
One
two
THREE
four
Five
Моя цель - вертикальные vimdiff
файлы foo_master
и
foo_feature
для разрешения конфликта.