7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

cherry-pickコマンドの実行手順について

Last updated at Posted at 2019-06-15

#cherry-pickコマンドとは?

cherry-pickコマンドとは、他のブランチ上にある特定のコミット内容を別のブランチ上に反映できるコマンドをいう。
このコマンドは、mergeコマンドのように全てのコミット内容を反映するコマンドとは異なり、余計なコミット内容まで取り込んでしまう恐れがないのでとても便利なコマンドである。

このコマンドを使えば、プルリクエストを細かく作り直したい時や誤って他のブランチ上でコミットしてしまった場合に役立つことができる。

#実行手順

##1.cherry-pickコマンドの使い方

cherry-pickコマンドを実行する前に以下のコマンドを実行する必要がある。

git checkout ブランチ名

git checkoutコマンドについては、以下の記事を参照ください。
https://qiita.com/yusukaaay/items/56de8e5f3f0d888906d1

また、ブランチ名が長かったり、複雑な表記で記憶してない場合は、以下のコマンドを実行すると、ブランチ名がターミナル上に表記される。

git branch

そして、cherry-pickコマンドの使い方は、以下のように実行する。

git cherry-pick コミットID

##2.コミットIDの特定方法
そして、コミットIDを表示させるには、ターミナル上で以下のコマンドを実行する。

git log

すると、以下の画像のようにコミットIDの一覧が表示される。
https://gyazo.com/5c999344f08c260275ee3281f82095af

しかし、コミットIDの一覧だけ表示されても、コミット内容がなんなのか不明なことがある。そんな時は、ターミナル上で、以下のコマンドを実行する。

git log --stat

すると、以下の画像にように、コード修正を行ったファイル名や変更修正をどれほど行ったのかの一覧が表示される。
https://gyazo.com/b99c730ea2cdb51f2edcbf5a1a7308f5

また、目当てのコミットIDが見当たらない場合は、GitHub Desktop上にて、コミットされているブランチ名と同じブランチ名のブランチに切り替えてみる。そして、再びターミナル上で、 git logコマンドを実行してみると表示されうる。

##3.競合が発生した場合について
コミットIDを特定して、cherry-pickコマンドした時、以下のような表示がターミナル上に出た場合、競合が生じています。

git cherry-pick 26151f9ee8......
error: could not apply 26151f9ee8......
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

競合を解消(解決)方法については、以下の記事を参照ください。
https://qiita.com/okamoto_ryo/items/1cb1977916e8270efca0

競合を解消(解決)できた後は、以下のコマンドを実行しする。

git add .

そして、最後にGitHub Desktopにて、cherry-pickした内容をコミットして、リモート環境にpushし、マージを行うことで作業完了となる。

                        以上
<参考記事>
https://qiita.com/ta__ho/items/8204a22a53b02ee0817e
https://qiita.com/bossunn24/items/dedb620541d852327934
https://www.sejuku.net/blog/71544#ID
https://git-scm.com/book/ja/v1/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E5%B1%A5%E6%AD%B4%E3%81%AE%E9%96%B2%E8%A6%A7

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?