【发布时间】:2020-10-26 14:43:50
【问题描述】:
我有一个旧提交,它是在一个旧分支上进行的,比如“old_branch_1”。此提交通过拉取请求合并到我的“主”分支中。现在我需要修改该提交的消息。所以我按照以下步骤操作:
- 从“master”创建了一个新分支,比如“new_branch_1”。
- 是否结帐 new_branch_1。
- 使用 git rebase -i HEAD~50 然后修改了所需的提交信息。
- 一次,rebase 完成。我在远程之前提交了 100 次,在远程之后提交了大约 120 次。
- git pull(并解决了冲突)。 现在我提前了 200 次提交。
- 做了 git push。
- 现在,我向我的 master 分支提出了 PR。
我不确定的是,无论是 PR 合并后,它会用新消息替换旧提交还是将这个新提交添加到主分支历史记录的顶部。
我真的需要从历史中删除旧的提交消息。因为在将我的代码合并到生产分支时,旧消息会导致问题。
【问题讨论】:
-
你和twitter.com/henryhoffman/status/694184106440200192的声音很接近。当您更改提交消息时,您会创建一个新提交,因此会创建所有后续提交的新版本。这不会改变任何现有的提交,它只会添加更多的提交,让你的历史更难理解。
-
@jonrsharpe 是的,我同意你的看法。但是,还是想知道。一定有办法实现这一点?
-
不会,如下所述,如果没有可能导致合作者出现问题的强制推送。也许您应该在其他地方寻找修复(例如找出为什么仅凭消息就足以导致可能正常工作的代码无法合并)。
标签: git github commit rebase pull-request