私はブランチで働いていますmaster
。変更は既にリモート リポジトリにプッシュされています。私の履歴は次のようになります。
*----*----*----* master
それから、私は何か間違ったことをしたかもしれないことに気付き、別のアプローチから始めたいと思っています. これを行うには、新しいブランチを作成します。
*----*----*----* master
\
*----*----* different-approach
いくつかの新しいコミットの後、新しいアプローチが master ブランチのものよりもうまく機能すると判断したので、今後はそれをブランチで使用したいと考えていますmaster
。だから私はマージを行います:
git checkout master
git merge different-approach
競合が発生した場合に備えて、私は常にdifferent-approach
マージからバージョンを選択します。問題は、一部のファイルでは競合がないため、git が自動マージを実行して、master
ブランチからの悪いものを残すことです。
この場合、どうすればよいですか?git のすべてのファイルを手動でマージする方法はないようです。もちろん、マージをコミットする前に、リポジトリを別のディレクトリに複製し、そこからすべてのファイルを元のディレクトリにコピーできます。しかし、これを行うためのよりクリーンで簡単な方法はありませんか?