LoginSignup
0
0

More than 3 years have passed since last update.

git cherry-pickで特定コミットを反映しよう

Posted at

初心者でも理解できる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で特定コミットを反映できます。
今回は、ローカル上で行いましたが、リモートブランチの特定コミットや複数のコミットも取得可能です。

以上

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