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