こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、14年目エンジニアです。
この記事では、 Gitで特定のコミットをほかのブランチに適用させることができるgit cherry-pickコマンドについて解説していきます。
前提:実行環境
実行環境は以下の通りです。
OS | Windows11 |
---|---|
Gitのバージョン | 2.45.2 |
特定のコミットをほかのブランチに適用させることができるgit cherry-pickコマンドを解説
特定のコミットをほかのブランチに適用させることができるgit cherry-pickコマンドを解説します。
- コマンドプロンプト
- PowerShell
- Git Bash
のいずれかをを開きます。
(この記事では、コマンドプロンプトで解説を進めます)
そして、ブランチがある場所まで移動します。
実行するためのコマンドは
1 |
git cherry-pick 【コミットID】 |
です。
実行すると、自分が今いるローカルブランチに対して指定した【コミットID】の修正を適用させることができます。
コミットIDは、git logコマンドで確認することができます。
git logコマンドについては、こちらの記事をご参考ください。
コマンドの解説では、sample1ブランチにあるコミットをmainブランチにgit cherry-pickコマンドで適用させていきます。
まず、sample1ブランチのgit logコマンドで確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
commit eb9acacd7c7a65a57d0cc91144725de9f9ade37d (HEAD -> sample1, origin/sample1) Author: ○○○○ <△△△△△△△△△@users.noreply.github.com> Date: Tue May 6 21:01:16 2025 +0900 'add_bbb.txt' commit fbdeb5559d38b48c1c60aa45c0dc7034759f3cc0 (origin/main, origin/HEAD, main) Author: ○○○○ <△△△△△△△△△@users.noreply.github.com> Date: Tue May 6 20:30:03 2025 +0900 Revert "'revert_practice'" This reverts commit 8bfc3368afcaf0a1703cb0c55fa6748e75c504dc. (後略) |
コミットID「eb9acacd7c7a65a57d0cc91144725de9f9ade37d」をmainブランチにcherry-pickします。
実行前にコミットID「eb9acacd7c7a65a57d0cc91144725de9f9ade37d」はどんな修正が入っているのかを確認しておきます。
git diffコマンドを使ってコミット前後を確認します。
1 2 3 4 5 6 7 8 9 10 11 |
git diff fbdeb5559d38b48c1c60aa45c0dc7034759f3cc0 eb9acacd7c7a65a57d0cc91144725de9f9ade37d diff --git a/bbb.txt b/bbb.txt new file mode 100644 index 0000000..e50e370 --- /dev/null +++ b/bbb.txt @@ -0,0 +1,3 @@ +xxx +yyy +zzz \ No newline at end of file |
「bbb.txt」というテキストファイルが新規作成されていることが確認できました。
git diffコマンドで特定のコミット間で変更または削除した行数を確認するやり方については、こちらの記事をご参考ください。
では、cherry-pickします。
自分のローカルブランチをmainに変更します。
1 |
git checkout main |
その状態で
1 |
git cherry-pick eb9acacd7c7a65a57d0cc91144725de9f9ade37d |
のコマンドを実行すると
1 2 3 4 |
[main 7d0c7b1] 'add_bbb.txt' Date: Tue May 6 21:01:16 2025 +0900 1 file changed, 3 insertions(+) create mode 100644 bbb.txt |
指定したコミットを適用させることができます。
ディレクトリを確認すると「bbb.txt」というテキストファイルが新規作成されていることが確認できました。
git logでも確認してみると
1 2 3 4 5 |
commit 7d0c7b19b60b4d7e716da3748e7b563e06bd97bf (HEAD -> main) Author: ○○○○ <△△△△△△△△△@users.noreply.github.com> Date: Tue May 6 21:01:16 2025 +0900 'add_bbb.txt' |
cherry-pickした履歴が適用されていることが確認できました。
まとめ:特定のコミットをほかのブランチに適用させてみよう
以上がGitで特定のコミットをほかのブランチに適用させることができるgit cherry-pickコマンドの解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント