我有一个包含单个分支和 10 个提交的存储库。我想为影响存储库中两个文件的所有提交创建一个补丁,例如提交 #3、4 和 7,即不是头部,不是按顺序提交,也不是标记。我保持了较小的提交范围,因此它们不会影响不相关的文件。
我应该怎么做?
我在网上看了很多例子,包括挑剔、壁球和在临时分支中签出特定的提交,但这些似乎都与我的方案不符,我的头在所有可能性上都在旋转。
创建一个临时分支
git checkout -b tmpb #3^
樱桃采摘将 #3、4 和 7 提交到分支中
git cherry-pick #3
git cherry-pick #4
git cherry-pick #7
将它们压缩为单个提交
git rebase -i #3^
使用git format-patch
创建修补程序
git format-patch master
请注意,命令中的#3
、#4
和#7
应替换为相应的 SHA1