我打开了PR,然后意识到我想恢复最新的提交。所以我做了
git reset --hard HEAD~1
然后研究了新的变化并且做了
git push --force-with-lease
作为一个非常意外的结果,PR被关闭了。
我应该添加的一件事是我在实际添加任何提交之前强行推送。那可能是公关被关闭的原因吗?
答案 0 :(得分:2)
GitHub将自动监视分支的拉取请求,因此对分支的更改将反映在拉取请求中。这方面的主要用例是简单的更新,以解决代码审查问题。它不仅限于简单的提交添加,而是对分支上的任何更改。因此,例如,重写历史记录(例如,合并代码更改)的rebase也将出现在pull请求中,替换其中的先前提交。
因此,当您将分支恢复为master
后强行推动分支时,您基本上清空了拉取请求。因此,当GitHub检查分支的pull请求时,它注意到上游的master
已经包含了pull请求中的“所有更改”(因为没有)。
这会自动触发GitHub的拉取请求解析并关闭拉取请求。
答案 1 :(得分:0)
作为一个非常意外的结果,PR被关闭了..
屏幕截图中的消息说明了其他内容:拉取请求"成功合并并关闭" 。
这不应该是意料之外的结果。将您的分支合并到PR的目标分支是您首先执行PR的原因。
您从等式中忽略了,当您创建PR时,项目的所有者会收到通知。我怀疑他们审核了您的公关并在您重新修改分支机构时将其合并。然后你试图改变分支,但由于PR已经合并和关闭,Github不再更新PR。
可以推送新提交,甚至可以重新绑定Pull Request中涉及的分支,Github会尽可能保持Pull Request与分支上的所有更改保持同步。但是在Pull Request关闭(合并与否)之后,它将成为历史记录的一部分,并且不再更新。