1. ホーム
  2. git

[解決済み] 現在のGitブランチをmasterブランチにする

2022-03-16 17:36:41

質問

私はGitでリポジトリを持っています。ブランチを作成し、マスターとブランチの両方に変更を加えました。

数十回のコミットの後、ブランチの方がマスターよりずっと良い状態であることに気づいたので、ブランチを "become" マスターにしてマスターでの変更を無視させたいと思います。

マスターの変更を残したくないので、マージすることができません。どうしたらいいでしょうか?

おまけ : この場合、「古い」マスターはすでに push -を GitHub などの別のリポジトリに移しました。これによってどのように変わるのでしょうか?

解決方法は?

他の2つの答えの問題は、新しいマスターは古いマスターを祖先として持っていないので、それをプッシュすると、他のみんなが混乱することです。これは、あなたがやりたいことです。

git checkout better_branch
git merge --strategy=ours master    # keep the content of this branch, but record a merge
git checkout master
git merge better_branch             # fast-forward master up to the merge

履歴をもう少しはっきりさせたい場合は、マージコミットメッセージに情報を追加して、何をしたのかをはっきりさせることをお勧めします。2行目を次のように変更します。

git merge --strategy=ours --no-commit master
git commit          # add information to the template merge message