当我在功能分支内部开发时,我做了一些初始提交来为特定任务设置分支。这些提交我不希望稍后在上游。有没有办法在返回合并原点时阻止这些“准备提交”的合并?
这些提交的名称可能是“branch-local-commits”或“unmergable commit”
这是澄清意图的图像
master: *--*--*--*--*----------------Merge (only B,C)
\--A(prep)--B--C/
答案 0 :(得分:0)
当您准备合并功能分支时,您可以:
使用A
还原git revert A
中的更改。
这将确保提交B
和C
以正确的形式将完全合并到主分支中。它也会使A
及其主要分支历史的逆转部分。
使用A
修改要素分支以删除git rebase -i
。
这会在主分支上重新创建B
和C
。提交消息,补丁和作者将从原始B
和C
提交中获取,但提交者信息将被修改以指示您已创建新提交。 {@ 1}}在主分支中不可见,并且在重新定位后,在功能分支中也不会显示。
我个人为这种改变做了什么,这种改变在未来可能对你有用,但现在却不适用,根本就没有提交。我将它们保存为本地更改,允许我根据需要轻松应用和取消应用它们,并在创建大型提交之前取消应用它们以确保我不会意外地包含它们。