チェリーピック

公式サイト:

git-cherry-pick | Git Documentation [Official]

使い方

参考:

Git で他ブランチの特定のコミットを取り込む方法 – Qiita

git cherry-pick で特定のコミットのみを適用する | Gitテックラボ

git cherry-pick で助かりました/他ブランチのコミットを反映させる方法 – Qiita

複数の commit をまとめて cherry-pick する – dackdive’s blog

How to cherry-pick from a remote branch? – Stack Overflow

git cherry-pick within a pull request – GitHub Gist

複数の連続するコミットを取り込む

現在のブランチに A の次から B までのコミットを取り込む。(A を含まない)

$ git cherry-pick A..B

現在のブランチに A から B までのコミットを取り込む。(A を含む)

$ git cherry-pick A^..B

参考:

Basic workflow for creating a cherry-pick pull request for ansible | GitHub Gist

Cherry-pick a pull request into a branch? – Stack Overflow

How to cherry-pick multiple commits – Stack Overflow

特定のプルリクエストをフェッチする

$ git fetch origin pull/ID/head:BRANCH_NAME

参考:

Checking out pull requests locally – User Documentation | GitHub [Official]

Can cherrypick all PR (pull request) from GitHub? – Stack Overflow

origin の全プルリクエストをまとめてフェッチする

 [remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git@github.com:user_name/repo_name.git
        fetch = +refs/pull/*/head:refs/remotes/origin/pr/*

.git/config を開いて fetch = +refs/pull/*/head:refs/remotes/origin/pr/* を追記する。

$ git fetch origin

通常の fetch コマンドで全プルリクエストがフェッチされる。

プルリクエストを cherry-pick する。

$ git cherry-pick origin/pr/ID

参考:

Checkout GitHub pull requests locally – GitHub Gist

Can cherrypick all PR (pull request) from GitHub? – Stack Overflow

マージコミットを取り込む

支流を本流に取り込む。

$ git cherry-pick -m 1 COMMIT_HASH

本流を支流に取り込む。

$ git cherry-pick -m 2 COMMIT_HASH

参考:

merge commit を cherry-pick する – Qiita

特定のコミットからパッチを作成して他のブランチに適用する

パッチを作成する。

$ git format-patch -k -1 --stdout COMMIT_HASH > patch_file

パッチを適用する。

$ cat patch_file | git am -3 -k

参考:

Git で任意のリポジトリコミットを別のリポジトリ以下にコミットごと移設する – Qiita

別リポジトリのコミットをパッチとして当てる (git format-patch & git am) | syon/til

別のリポジトリの差分を取り込む | EZ-NET ネットワークステーション

Is it possible to cherry-pick a commit from another git repository? – Stack Overflow

他のリポジトリからコミットを取り込む

参考:

異なる Git リポジトリ間でも cherry-pick はできる – Qiita

Git で異なるリポジトリ間で cherry-pick をする | atwata developer blog

cherry-pick from another repository (Example) | Coderwall

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA