我已经推送了一些代码进行审查,并被要求更改我的一些提交消息。
我尝试做
git rebase -i HEAD~5
,因为这不是我需要更改的最新提交。
进行更改后,我现在看到我的分支已出现分歧。 这里正确的方法是什么?
我没有那么自信,所以最终可能会一起创建一个新的拉取请求。但是,我希望在同一个拉取请求中进行更改,以便保留评论评论历史记录。
您不需要创建新的拉取请求。您可以简单地对提交消息进行更改(或您想要对提交进行的任何其他更改),然后将它们强制推送到远程上的同一分支。拉取请求将使用新的提交内容进行更新。您可以通过在运行
-f
时指定 git push
选项或在推送时在分支名称前面添加加号 (+
) 来完成此操作。
通常你的 CI 系统会意识到你的提交已经改变,并在新的提交上再次运行。因此,如果您的旧提交由于某种原因未达到标准,那么这不应该成为您的新提交是否通过的因素。
更新拉取请求的好处是它保留您提供的任何描述以及人们对以前版本提供的任何评论。
这对我有用。
git commit —amend
git push —force-with-lease origin [FEATURE_BRANCH]
注意
根据 git 文档,
在 Git 中,提交消息的文本是提交的一部分。改变 提交消息将更改提交 ID,即 SHA1 校验和 为提交命名。实际上,您正在创建一个新的提交 替换旧的。
参考