Gitでは、マージ中に、競合が発生した場合にローカルの変更を破棄し、マージされたブランチからの変更を適用するようにgitに指示する方法はありますか?
つまり、方法があれば、競合なしでブランチマージのようにマージを実行できます。
マージを試みる前に、ローカルの変更を自分で破棄できますgit reset --hard HEAD
。必要なコミットハッシュに
置き換えることができます。これにより、実際に行っ
ているコミットのクリーンな状態が得られ、すべての変更が失われます。HEAD
それらを保持したい場合は、前にそれらを隠しておくか、git stash
別のブランチに移動することができます。
git checkout -b new_branch
git add .
git commit -m "My awesome commit"
git checkout - # will bring you back to the last branch you were in
すべてのローカル変更を無視し、追加のマージコミットを行う場合は、ブランチをリモートHEADに移動するだけです。
git log --oneline origin/master
# assume the first sha is bbdfa17
git reset --hard bbdfa17
これで、マージコミットなしでツリーの先端にいます。
マージ戦略「彼ら」と「私たち」について読みたいようです。マージするときは、現在のブランチ(私たち)またはリモートブランチ(それら)のいずれかが正しいものであることを指定できます。