1
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 -x についての備忘録

Last updated at Posted at 2025-07-31

📝 概要

git cherry-pick は、あるブランチの特定のコミットを別のブランチに適用する便利なコマンドですが、-x オプションを付けることで 元のコミットIDを記録 することができます。

✨ -x オプションとは?

git cherry-pick -x <commit>

この -x オプションを使うと、cherry-pick されたコミットのメッセージに以下のような一文が追加されます:

(cherry picked from commit abcdef1234567890)

この情報があれば、元のコミットがどこだったかを後から簡単に追跡できます。

🔍 footer(例: Change-Id)がある場合の動作

Git の公式テスト(3511-cherry-pick-x.sh)に基づくと、git cherry-pick -x は footerの一番最後 に (cherry picked from ...) を追加します。

✅ footerがある例

title

コミット本文

Signed-off-by: Foo Bar <foo@example.com>
Change-Id: Iabcdef1234567890
(cherry picked from commit abcdef1234567890)

✅ footerがない例

title

コミット本文

(cherry picked from commit abcdef1234567890)

footerがない場合、空行つきで一文が追加されます。

⚠️ 注意

footerがあるときとないときで若干ではありますが、挙動が変わるためcommitメッセージのチェック処理などを行っているところでは、pushエラーが起きる可能性があります。例えば、Gerritなどではメッセージのformatに注意してcherry-pickを行うことをお勧めします。Change-Id must be in message footerといったメッセージがpush時に出てきた場合、footerのformatが壊れている中、cherry-pickを行いfooterまで本文と認識されているかもしれません。

1
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
1
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?