从两个不按顺序不在头部的提交创建补丁
Create patch from two commits not in sequence not at the head
我有一个只有一个分支和 10 个提交的 repo。我想为影响回购中两个文件的所有提交创建一个补丁,例如提交 #3、4 和 7,即不是头部,不是按顺序,也没有标记。我将提交的范围保持在很小的范围内,这样它们就不会影响不相关的文件。
我应该怎么做?
我在网上查看了很多示例,包括 cherry-pick、squash 和检查临时分支中的特定提交,但是 none 这些似乎接近我的场景,而我的各种可能性都让人头晕目眩。
创建一个临时分支
git checkout -b tmpb #3^
Cherry-pick 将 #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
我有一个只有一个分支和 10 个提交的 repo。我想为影响回购中两个文件的所有提交创建一个补丁,例如提交 #3、4 和 7,即不是头部,不是按顺序,也没有标记。我将提交的范围保持在很小的范围内,这样它们就不会影响不相关的文件。
我应该怎么做?
我在网上查看了很多示例,包括 cherry-pick、squash 和检查临时分支中的特定提交,但是 none 这些似乎接近我的场景,而我的各种可能性都让人头晕目眩。
创建一个临时分支
git checkout -b tmpb #3^
Cherry-pick 将 #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