Git で Cherry-Pick を使用した複数のコミット
-
Git における
Git merge
とGit Cherry-Pick
コマンドの違い -
チェリーピッキング
Git のバグ修正コミット -
Git での複数の
チェリーピッキング
コミット -
Git の特定のブランチで
リベース
コマンドを使用して必要な変更を選択する
分岐作業が完了したら、通常、既存のファイルにマージ
する必要はありません。
多くの場合、特定のブランチですべてを処理するのではなく、さまざまなブランチからいくつかの特定のコミットを取得する必要があります。これが、Git で git-cherry pick
コマンドが使用される理由です。
Git における Git merge
と Git Cherry-Pick
コマンドの違い
git merge
は git cherry-pick
コマンドと同じです。git cherry-pick
コマンドは、別のブランチから目的のブランチへの変更を吸収するために使用されます。
merge
コマンドを使用している間、通常、他のブランチで行われたすべての変更を目的のブランチに吸収することができます。
しかし一方で、目的のブランチにいくつかの変更を加えるだけでよい場合もあります。そして、この目的のために、Git の cherry-pick
コマンドが最も安全なオプションです。
チェリーピッキング
Git のバグ修正コミット
チェリーピッキング
は通常、バグ修正を以前のバージョンのソフトウェアに更新することとして説明できます。つまり、特定のブランチの数百のバグ修正から明示的なバグ修正コミットのみをフェッチすることを意味します。
次に、何らかの理由で、将来その特定のバグ修正コミットを使用します。このステートメントまたはコマンドは、主に、チームが本番アプリケーションまたはライブ Web またはデスクトップアプリケーションの重要なバグを修正する場合に使用されます。
このコマンドを使用して、チームはリリースを準備し、本番環境またはライブ環境にデプロイします。
Git での複数のチェリーピッキング
コミット
場合によっては、異なるブランチで同時に複数のコミットで cherry-pick
に適用したいことがあります。次に、最初に両方のコミットを識別し、それに次のコマンドを使用する必要があります。
その後、次のコマンドで以下に示すように、A ブランチと B ブランチの両方の間のドット表記を使用して、複数のコミットでチェリーピッキング
を実行できます。
$ git cherry-pick A..B
このコマンドを適用した後、commit A
は cherry-pick
に同化されません。
commit A
も同化するために、次の構文を使用できます。
$ git cherry-pick A^..B
コミット A
はコミット B
より古い必要があります。これが完全な順序でない場合、使用されるコマンドは失敗するため、上記の条件に従って使用する必要があります。Git の特定のブランチでリベース
コマンドを使用して必要な変更を選択する
Git の rebase
コマンドを使用して、特定のブランチで必要な変更またはコミットを選択する別の方法があります。このメソッドでは、オプション onto
を使用してコマンドをリベース
できます。
git rebase --onto
は、次の 2 種類の場合に使用できます。
- 最初の条件は、リポジトリ内の親ブランチを置き換えたいブランチがあることです。
- 次に、リポジトリ内の現在のブランチからいくつかのコミットをすぐに削除したいと思います。
ブランチ
が D
で終わるブランチであり、これが C
-Y
を移動したいブランチであると仮定します。
git reset --hard Y
git rebase --onto A B
これは、特定のポイントから開始するか、目的のコミットにコミットすることでリベースするのに役立ちます。特定のブランチコミットで何をリベースし、どこをリベースするかを完全に管理できます。
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn