Я не хочу інструменту візуального злиття, а також не потрібно переглядати конфліктуючий файл і вручну вибирати між HEAD (моя) та імпортованою зміною (їх). Більшу частину часу я або хочу всіх їх змін, або всіх моїх. Часто це відбувається тому, що моя зміна зробила його кращим і повертається до мене через тягу, але може бути дещо зміненою в різних місцях.
Чи є інструмент командного рядка, який позбудеться маркерів конфлікту і вибере все так чи інакше на основі мого вибору? Або набір команд git, які я можу зробити собі псевдонімом для виконання кожної з них.
# accept mine
alias am="some_sequence;of;commands"
alias at="some_other_sequence;of;commands"
Робити це досить прикро. Для "прийняти моє" я спробував:
randy@sabotage ~/linus $ git merge test-branch
Auto-merging Makefile
CONFLICT (content): Merge conflict in Makefile
Automatic merge failed; fix conflicts and then commit the result.
randy@sabotage ~/linus $ git checkout Makefile
error: path 'Makefile' is unmerged
andy@sabotage ~/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.
Чи може хтось, будь ласка, вказати, як зробити вищезазначені дві дії більш простим способом? Дякую