0
0

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(チェリーピック)について簡単にまとめる

Posted at

チェリーピックとは

チェリーピック(cherry-pick)は、特定の一つのコミットを別のブランチから選んで、現在のブランチにそのコミットのみをコピーする機能です。

  • イメージ

image.png

特徴

  • 元のコミット: 元のブランチにそのまま残る
  • 新しいコミット: コピー先のブランチに新しいコミットハッシュで作成される
  • 変更内容: 同じだが、コミット ID は異なる

主な使用場面と具体例

特定の機能の部分的な取り込みをしたい時

例えば大きめのPRで、先にUIの改善だけしたとします。
で、そのPRはまだマージ出来ないけどその改善だけリリースブランチやmainブランチに取り込んでおきたい。
といった場合などにcherry-pickの出番です。

# UIの改善コミットのみをチェリーピック
git checkout release/v2.1
git cherry-pick 3a7f9e2  # UIの改善コミット

使用方法

簡単です。
コミットのハッシュがわかれば OK です。
コミットタブ開いて該当のコミット履歴の右にコピーアイコンあるのでこちらをクリックしてください。

image.png

これをコピーしてターミナルで、

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

を実行すれば OK です。

コマンドラインでの操作

# 基本的なチェリーピック
git cherry-pick <コミットハッシュ>

# 例:特定のコミットをチェリーピック
git cherry-pick abc123def

# 範囲指定でのチェリーピック
git cherry-pick {始点となるコミットの1つ前のコミットハッシュ}..{終点となるコミットハッシュ}

重要:コピーなのか移動なのか?

チェリーピックはコピーです。
移動ではありません。
個人的には移動のオプションあっても良いじゃんと思いました。
主な使用用途はブランチ間違えて push した時など使えるかなと思いました。

終わり。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?