視覚的なマージツールは必要ありません。また、競合するファイルをviで開き、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;
これにより、混乱したコミットメッセージも表示されます。
上記の2つのアクションをより簡単に行う方法を誰かが指摘できますか?ありがとう