初心者でも理解できるgithub講座 cherry-pick編#
git cheery-pickとは?###
特定のコミットだけを取り出してきたいときに使えるコマンドです。
使用例###
git branch構造####
main
├── aaa ブランチ
├── bbb ブランチ
例えば、上記のように、mainブランチを親としてそれぞれaaaとbbbブランチを切ります。
そして、aaaでファイルを変更し、追加・コミットします。
このaaaでコミットされたものをbbbブランチにも反映する時などに、cheery-picを用います。
git cherry-pick コマンドで特定コミットを反映##
まずは、aaaブランチでファイルを作成し、追加(git add)とコミットを行います。
git logコマンドでコミットを確認しましょう。
git log
commit 0497a98eed98112e8af84f9c6d816c96ab24734c (HEAD -> aaa)
Author: ~
Date: Sun Apr 11 20:41:31 2021 +0900
aaaでコミット(コミットメッセージ)
commit fd037f8ba24b05b9b1214edfd3ed8258f063a694 (origin/main, origin/HEAD, main, bbb)
Author: user <~users.noreply.github.com>
Date: Sun Apr 11 20:35:41 2021 +0900
mainブランチに戻り、
git checkout -b bbb
ブランチを切り替えました。
いよいよ、aaaブランチでコミットを取り出します。
特定コミットの反映コマンド
git cherry-pick コミットID
git cherry-pick 0497a98eed98112e8af84f9c6d816c96ab24734c
# コミットIDはgit logコマンドで確認できます。
cheery-pickで特定コミットをbbbブランチに反映しました。
確認してみます。
git log
commit 31874f15070ed95ee9b1717d065205bfb238c3fe (HEAD -> bbb)
Author: ~
Date: Sun Apr 11 20:41:31 2021 +0900
aaaでコミット
commit fd037f8ba24b05b9b1214edfd3ed8258f063a694 (origin/main, origin/HEAD, main)
Author: ~ <~@users.noreply.github.com>
Date: Sun Apr 11 20:35:41 2021 +0900
このようにgit cherry-pickで特定コミットを反映できます。
今回は、ローカル上で行いましたが、リモートブランチの特定コミットや複数のコミットも取得可能です。
以上