このようなコミットがあるとして、develop
ブランチ
にmaster
のF
のコミットだけmerge
したいとする
現状E
とF
のコミットの内容はindex.html
にそれぞれE
とF
の文字列が存在している。
つまり、今回はF
の文字列だけdevelop
にmergeしたい。
user1@user1noMacBook-Pro cherry % git show 64aaf1a
commit 64aaf1a9b018f9ec26103188fb08a21b237dc551 (HEAD -> master)
Author:
Date: Thu Dec 21 21:56:48 2023 +0900
F
diff --git a/index.html b/index.html
index 54f9e44..254e13c 100644
--- a/index.html
+++ b/index.html
@@ -1,2 +1,2 @@
A
-E
\ No newline at end of file
+F
\ No newline at end of file
user1@user1noMacBook-Pro cherry % git show 53a6b25
commit 53a6b2557d17eada8c0c70d3aed8a4538d9bd45d
Author:
Date: Thu Dec 21 21:56:35 2023 +0900
E
diff --git a/index.html b/index.html
index 8c7e5a6..54f9e44 100644
--- a/index.html
+++ b/index.html
@@ -1 +1,2 @@
-A
\ No newline at end of file
+A
+E
\ No newline at end of file
git cherry-pick ブランチ or ハッシュ or HEAD
で指定できる。
git cherry-pick master
Auto-merging index.html
CONFLICT (content): Merge conflict in index.html
error: could not apply 5fee5ce... E
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'
該当のコミット
をマージする事で、そのコミット
を取り込んだ新しいコミット
(今回はG
)を作って、特定のコミット
のみをマージ
する事ができる。