dev
とmaster
の2つのブランチがあります。 masterが最新であることがわかっているので、devブランチをmaster
ブランチで完全に上書きしたいと思います。 TortoiseGit UIを使用してそれを行うにはどうすればよいですか?
TortoiseGitを使用してマージしようとしましたが、多くの競合が発生します。
私はUIのみを使用しており、実際のGITコマンドに精通していないため、TortoiseGITの回答のみをお知らせください。
免責事項:これはTortoiseGitソリューションではありませんが、CLIソリューションです。とにかく誰かに役立つことを願っています。
誰もそれをまだ提案していないので、それを行うためのこの非常に簡単な方法にも注意しましょう:
git branch -f dev master
これは、最初に指定されたref(ここでは:dev)を、2番目のref(ここでは:master)が現在指しているのと同じポイントに設定する簡単な方法です。 (補足として、これらはこのコマンドの後で「リンク」されることはなく、すべての意図と目的のために独立したままです。)
ブランチ開発の履歴を書き換えるので、リモートの対応物がある場合は、強制的にプッシュする必要があります。
git checkout dev
git Push -f Origin HEAD
いずれにせよ、そのブランチで他の人と一緒に作業している場合、ここでの解決策はいずれも履歴を書き換える方法なので、事前に彼らと話し合ってください!
TortoiseGitには、シナリオに応じていくつかのオプションがあります。
dev
ブランチにいます。ログダイアログに移動し、マスターブランチエントリのコンテキストメニューを開き、[リセット先]を選択して[ハード]を選択します。
dev
ブランチを使用していません:dev
という名前の新しいブランチを作成します。master
ブランチをオリジンとして選択し、[ブランチが存在する場合はオーバーライド]を選択します(またはログダイアログで、devブランチのコンテキストメニューを開き、deleteブランチを選択し、master
ブランチのコンテキストメニューを開いて、dev
という名前の新しいブランチを作成します。
私はnoこれが正しいか間違っているかを考えていますが、次のように別のブランチをマスターで上書きしたようです:
git Push Origin master:otherbranch
そして、私が切り替えたとき、私は引っ張らなければならなかった、そして行って良かったですか?