Git であるブランチから別のブランチに変更をコピーする

John Wachira 2023年6月20日
  1. Git であるブランチから別のブランチに変更をコピーする
  2. まとめ
Git であるブランチから別のブランチに変更をコピーする

この記事では、Git であるブランチから別のブランチに変更をコピーするために使用できる 2つの方法について説明します。

Git であるブランチから別のブランチに変更をコピーする

git merge コマンドはよく知られています。 これを使用して、2つのブランチを 1つにマージできます。

このコマンドは、あるブランチから別のブランチに変更をコピーする方法にもなります。 ただし、ブランチからすべての変更をコピーする場合にのみ使用できます。

リポジトリに Master ブランチがあるとします。 Master ブランチから、Dev2.1 という名前の新しいブランチを作成しました。

もちろん、新しいブランチは Master ブランチのすべてのコミットを継承します。 次に、Dev2.1 ブランチで開発を開始します。

Dev2.1 ブランチから Master ブランチにすべての変更をコピーするには、以下に示すように 2つをマージします。

まず、Master ブランチにチェックアウトする必要があります。

指図:

$ git checkout Master

これで、Dev2.1Master ブランチにマージできます。

指図:

$ git merge Dev2.1

マージの競合が発生する可能性があり、それらを手動で解決してマージを完了する必要があります。

特定の変更を Master ブランチにコピーしたいとします。 Dev2.1 ブランチでいくつかのコミットを行い、それが Master ブランチの前にあり、1つのコミットをコピーしようとします。

ここでは、支店間の比較を示します。

ブランチ間比較

上記の出力から、Dev2.1Master より 2 コミット進んでいます。 Dev2.1 ブランチから Master ブランチに Python Scripts コミットによって導入された変更のみをコピーしたいと仮定しましょう。

変更をコピーするには、以下に示すように、Python Scripts コマンドの SHA-1 とともに git cherry-pick コマンドを使用します。

master ブランチに切り替えましょう。

$ git checkout Master

変更をコピーするには:

$ git cherry-pick 2521a66

出力:

git cherry-pick コマンドを使用して、Python スクリプト コミットからマスター ブランチに変更をコピーします

gitPython Scripts コミットから Master ブランチに変更をコピーしたことがわかります。 git log コマンドを実行すると、このコミットが表示されるはずです。

指図:

$ git log --oneline

出力:

リポジトリに対して行われたコミットのリストを表示

まとめ

git merge および git cherry-pick コマンドを使用して、あるブランチから別のブランチに変更をコピーできます。 git cherry-pick コマンドで変更を指定できますが、git merge コマンドはすべての変更をコピーします。

著者: John Wachira
John Wachira avatar John Wachira avatar

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

関連記事 - Git Branch