HOWTO · Git
開発ブランチをマスター ブランチと同一にする
開発ブランチをマスター ブランチにリセットするために使用できるさまざまな方法。
この記事では、master ブランチと同じになるように development ブランチをリセットする方法について説明します。 Git リポジトリのクローンを作成し、master ブランチから development ブランチを作成したとします。
コードをいじってみると、ブランチが乱雑であることに気付き、master ブランチと一致するようにリセットしたいとします。 これについてどう思いますか?
開発ブランチをマスター ブランチと同一にする
development ブランチを master にリセットするには、2つの方法があります。 最も単純でクリーンな方法は、ポインターを再作成することです。
development ブランチのポインターを再作成するには、master ブランチに切り替えて、以下のコマンドを実行します。
$ git branch -f development master
これにより、master ブランチのコミット履歴と一致するように development ブランチのコミット履歴がリセットされます。
これに代わるものとして、git reset コマンドがあります。 まず、development ブランチに切り替えて、以下のコマンドを実行します。
$ git reset --hard master
このコマンドは、git branch -f コマンドと同じ効果があります。 ただし、これらのコマンドは両方とも、master ブランチに存在しない development ブランチの変更を無効にします。
これらの変更を排除したくない場合は、代わりに master ブランチの現在の状態を反映するコミットを作成できます。 これを行うには、次の手順を実行します。
まず、git checkout development コマンドで development ブランチに切り替えます。 以下に示すように、コミットを作成せずに master ブランチを development ブランチにマージします。
$ git merge master --no-commit
このコマンドは変更をマージしますが、コミット部分の前にマージを停止します。 以下のコマンドを使用すると、インデックスから master ブランチの変更をチェックアウトできます。
$ git checkout --theirs master .
. を含めることを忘れないでください。 コマンドの最後に。 残っているのは、変更をコミットすることです。
$ git commit -m"Resetting development to master"
これにより、master ブランチに存在しない変更が保持され、master ブランチの現在の状態が反映されます。
簡単に言えば、ポインターを再作成するか、または git reset --hard コマンドを使用して、任意のブランチを master にリセットできます。 どちらの方法でも、master ブランチに存在しない変更はなくなります。
これらの変更を保持したい場合は、最後に説明した方法を使用してください。