gitで別ブランチの特定コミットを別のブランチに対して適用する(git cherry-pick)

● gitで別ブランチの特定コミットを別のブランチに対して適用する

git cherry-pick を使用します

git cherry-pick [取り込むコミットID]

複数の連続したコミットをいちどに取り込むことも可能です

git cherry-pick [始点となるコミットの1つ前のコミットID]..[終点となるコミットID]

● git cherry-pick でコンフリクトが起きた場合の対応

かなりの確率でコンフリクトは起こると考えておいた方が良いのでその対応を知っておきましょう。 コンフリクトが起きると次のようなログ出力となります

Auto-merging local/resources/xxxx.cs
Auto-merging local/resources/bbbb.cs
CONFLICT (content): Merge conflict in local/app/Http/Requests/cccc.cs
CONFLICT (content): Merge conflict in local/app/Http/Controllers/dddd.cs

CONFLICT (content) となっているファイルを修正、保存します。

その後に修正したファイルを追加してコミットします。

git add local/app/Http/Requests/cccc.cs
git add local/app/Http/Controllers/dddd.cs

コミットします。コメントの先頭に [cherry-pick] → をつけてわかりやすいようにします。(書き方はなんでもokです)

git commit -m "[cherry-pick] → [fix] ○○○の不具合を修正"

とします

No.2049
11/04 15:08

edit