1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

git cherry-pickを分かりやすく解説

Last updated at Posted at 2025-02-23

はじめに

今回は、Gitの便利なコマンドの一つである git cherry-pick について、IT初心者の方にも分かりやすく解説します。

この記事を書こうと思った理由は、私自身が以前Gitについて学習していたものの、現在の現場で実際に git cherry-pick を使う機会があり、その記録を残したいと思ったからです。

この記事が、同じようにGitを学習中の方や、これから git cherry-pick を使ってみたい方の参考になれば幸いです。

git cherry-pickとは?

git cherry-pick は、他のブランチから特定のコミットだけを現在のブランチに取り込むコマンドです。

通常、ブランチを統合するには git mergegit rebase を使いますが、これらのコマンドはブランチ全体の変更をまとめて取り込みます。

一方、git cherry-pick は特定のコミットだけを選んで取り込むため、「このコミットだけ欲しい!」という場合に便利です。

どんな時に使うの?

git cherry-pick は、主に以下のような場面で役立ちます。

  • バグ修正: 他のブランチで修正されたバグを、現在のブランチに素早く適用したい場合
  • 機能追加: 他のブランチで開発された特定の機能だけを、現在のブランチに取り込みたい場合
  • ホットフィックス: 緊急性の高い修正を、メインのブランチに素早く適用したい場合

git cherry-pickの使い方

ここでは、git cherry-pick の基本的な使い方を解説します。

1. コミットのハッシュ値を確認

まず、取り込みたいコミットのハッシュ値を確認します。ハッシュ値は、git log コマンドで確認できます。

git log --oneline

このコマンドを実行すると、コミットのハッシュ値とコミットメッセージが一覧で表示されます。

2. git cherry-pickを実行

取り込みたいコミットのハッシュ値を指定して、git cherry-pick を実行します。

git cherry-pick <コミットのハッシュ値>

例えば、ハッシュ値が abcdef1234567890 のコミットを取り込みたい場合は、以下のようになります。

git cherry-pick abcdef1234567890

3. コンフリクトの解消(必要な場合)

取り込むコミットが現在のブランチと競合する場合(コンフリクト)、コンフリクトを解消する必要があります。

コンフリクトが発生した場合は、コンフリクトしているファイルを修正し、git addgit cherry-pick --continue を実行します。

git add <コンフリクトを修正したファイル>
git cherry-pick --continue

4. 取り込み完了

コンフリクトがなければ、これでコミットの取り込みは完了です。

git cherry-pickの注意点

git cherry-pick は便利なコマンドですが、注意点もあります。

  • コミット履歴が変わる: git cherry-pick を使うと、コミットのハッシュ値が変わります。そのため、他の人と共有しているブランチでは、注意が必要です。
  • コンフリクトに注意: git cherry-pick は、コンフリクトが発生しやすいコマンドです。コンフリクトが発生した場合は、慎重に解消する必要があります。

まとめ

git cherry-pick は、特定のコミットだけを他のブランチから取り込む便利なコマンドです。

使いこなすことで、開発効率を上げることができます。

ぜひ、この記事を参考にして、git cherry-pick を使ってみてください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?