Мне не нужен инструмент визуального слияния, и я также не хочу, чтобы это противоречивый файл и вручную выбирал между HEAD (мой) и импортированным изменением (их). Большую часть времени я либо хочу, чтобы все их изменения или все мои. Обычно это происходит потому, что мои изменения сделали это upsteam и возвращаются ко мне через тягу, но могут слегка изменяться в разных местах.
Есть ли инструмент командной строки, который избавится от маркеров конфликта и будет выбирать все так или иначе в зависимости от моего выбора? Или набор команд git, которые я могу сделать для каждого из них.
# accept mine
alias am="some_sequence;of;commands"
alias at="some_other_sequence;of;commands"
Делать это довольно раздражает. "Принимаю мой", я пробовал:
[email protected] ~/linus $ git merge test-branch
Auto-merging Makefile
CONFLICT (content): Merge conflict in Makefile
Automatic merge failed; fix conflicts and then commit the result.
[email protected] ~/linus $ git checkout Makefile
error: path 'Makefile' is unmerged
[email protected] ~/linus $ git reset --hard HEAD Makefile
fatal: Cannot do hard reset with paths.
Как я должен избавиться от этих маркеров изменений?
Я могу сделать:
git reset HEAD Makefile; rm Makefile; git checkout Makefile
Но это кажется довольно крутым, должен быть лучший способ. И в этот момент я не уверен, что git даже думает, что произошло слияние, поэтому я не думаю, что это обязательно даже работает.
Иными словами, "принимать их" одинаково беспорядочно. Единственный способ понять это - сделать:
git show test-branch:Makefile > Makefile; git add Makefile;
Это также дает мне сообщение об ошибке, которое содержит конфликты: Makefile в нем дважды.
Кто-нибудь может указать, как сделать эти два действия более простым способом? Благодаря