Git:在featurebranch中创建在上游有害的提交

时间:2016-12-21 13:35:38

标签: git

当我在功能分支内部开发时,我做了一些初始提交来为特定任务设置分支。这些提交我不希望稍后在上游。有没有办法在返回合并原点时阻止这些“准备提交”的合并?

这些提交的名称可能是“branch-local-commits”或“unmergable commit”

这是澄清意图的图像

master: *--*--*--*--*----------------Merge (only B,C)
                    \--A(prep)--B--C/

1 个答案:

答案 0 :(得分:0)

当您准备合并功能分支时,您可以:

  • 使用A还原git revert A中的更改。

    这将确保提交BC以正确的形式将完全合并到主分支中。它也会使A及其主要分支历史的逆转部分。

  • 使用A修改要素分支以删除git rebase -i

    这会在主分支上重新创建BC。提交消息,补丁和作者将从原始BC提交中获取,但提交者信息将被修改以指示您已创建新提交。 {@ 1}}在主分支中不可见,并且在重新定位后,在功能分支中也不会显示。

我个人为这种改变做了什么,这种改变在未来可能对你有用,但现在却不适用,根本就没有提交。我将它们保存为本地更改,允许我根据需要轻松应用和取消应用它们,并在创建大型提交之前取消应用它们以确保我不会意外地包含它们。