1. ホーム
  2. ギット

[解決済み】ブランチのベースを変更する

2022-04-05 05:55:59

質問

このような木があります。

(commit 1) - master
                \-- (commit 2) - (commit 3) - demo
                                                \-- (commit 4) - (commit 5) - PRO

そして、PROブランチをmasterに移動させなければなりません。

(commit 1) - master
                |-- (commit 2) - (commit 3) - demo
                \-- (commit 4) - (commit 5) - PRO

を試してみました。 git rebase master をPROブランチから取得しましたが、何も起こりません。

明確にするために : マスターで作業していたら、製品デモを作ることになった( git checkout -b demo といくつかのコミット)。そして、間違えて demo から別のブランチを作ってしまいました ( git checkout -b PRO といくつかのコミット)、今度はPROブランチをmasterに移動して、demoはそのままにしておく必要があります。最終的に、demo と PRO の両方が master からぶら下がることになります。

どうすればいいですか?

想定されること newBase は、コミットを移動させたいブランチです。 oldBase はブランチの古いベースなので --onto を使用します。

git rebase --onto newBase oldBase feature/branch

あなたのケースを考えると

git checkout PRO # Just to be clear which branch to be on.
git rebase --onto master demo PRO

基本的には demo までと、それを含む PRO にリベースします。 master をコミットします。