Git であるブランチから別のブランチに変更をコピーする
この記事では、Git であるブランチから別のブランチに変更をコピーするために使用できる 2つの方法について説明します。
Git であるブランチから別のブランチに変更をコピーする
git merge
コマンドはよく知られています。 これを使用して、2つのブランチを 1つにマージできます。
このコマンドは、あるブランチから別のブランチに変更をコピーする方法にもなります。 ただし、ブランチからすべての変更をコピーする場合にのみ使用できます。
リポジトリに Master
ブランチがあるとします。 Master
ブランチから、Dev2.1
という名前の新しいブランチを作成しました。
もちろん、新しいブランチは Master
ブランチのすべてのコミットを継承します。 次に、Dev2.1
ブランチで開発を開始します。
Dev2.1
ブランチから Master
ブランチにすべての変更をコピーするには、以下に示すように 2つをマージします。
まず、Master
ブランチにチェックアウトする必要があります。
指図:
$ git checkout Master
これで、Dev2.1
を Master
ブランチにマージできます。
指図:
$ git merge Dev2.1
マージの競合が発生する可能性があり、それらを手動で解決してマージを完了する必要があります。
特定の変更を Master
ブランチにコピーしたいとします。 Dev2.1
ブランチでいくつかのコミットを行い、それが Master
ブランチの前にあり、1つのコミットをコピーしようとします。
ここでは、支店間の比較を示します。
上記の出力から、Dev2.1
は Master
より 2 コミット進んでいます。 Dev2.1
ブランチから Master
ブランチに Python Scripts
コミットによって導入された変更のみをコピーしたいと仮定しましょう。
変更をコピーするには、以下に示すように、Python Scripts
コマンドの SHA-1
とともに git cherry-pick
コマンドを使用します。
master ブランチに切り替えましょう。
$ git checkout Master
変更をコピーするには:
$ git cherry-pick 2521a66
出力:
git
が Python Scripts
コミットから Master
ブランチに変更をコピーしたことがわかります。 git log
コマンドを実行すると、このコミットが表示されるはずです。
指図:
$ git log --oneline
出力:
まとめ
git merge
および git cherry-pick
コマンドを使用して、あるブランチから別のブランチに変更をコピーできます。 git cherry-pick
コマンドで変更を指定できますが、git merge
コマンドはすべての変更をコピーします。
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn