Gitで特定のタグに対してmasterに適用した修正を適用する

v8.1.1のタグをチェックアウトします。

git tag
git checkout v8.1.1
git checkout -b v8.1.1-patch

参考

http://ikm.hatenablog.jp/entry/2012/12/18/130940

例えば

https://github.com/aipocom/aipo/commit/ef4d6de199c1ee5c574377d02c38934b09cb3d50#diff-a59158341ea099ec08d407e32c196682

の修正内容を適用する場合

git cherry-pick ef4d6de199c1ee5c574377d02c38934b09cb3d50

https://github.com/aipocom/aipo/commit/535a28e5e76a11551f7aeedcab0b07d3ff3d34d3

を適用する場合

これは複数のコミットを含むプルリクエストをマージしたものになるため、

git cherry-pick 535a28e5e76a11551f7aeedcab0b07d3ff3d34d3
error: commit 535a28e5e76a11551f7aeedcab0b07d3ff3d34d3 is a merge but no -m option was given.
fatal: cherry-pick failed

のようになります。

 git cherry-pick c481153c18112284603af8f0aef14a669e4edab9
 git cherry-pick 5ba56078a7b4d19848e29f7bf56adece6c692cdc

のようにしてそれぞれのコミットを適用します。

こうして作成したブランチをタグにしてpushします。

git tag v8.1.1a
git push origin v8.1.1a

https://github.com/aipocom/aipo/releases/tag/v8.1.1a

参考

http://rfs.jp/server/git/gite-lab/git-cherry-pick.html

なお、ブランチ名とタグ名が一緒だと怒られます。

参考 http://helen.hatenablog.com/entry/2016/04/01/162424

http://qiita.com/koara-local/items/e36bc172a3c36eb67b4f