在隔离分支中修改和强制推送后会发生什么

问题描述

我使用强制推送来修改我的分支 B 上的提交消息。我在这个分支上独自工作,然后我向 master A 申请了 PR。

接受PR后会不会有问题?

根据 this 的回答,从我的分支拉出的人会收到错误消息。但是没有人从我的分支拉。但是在 PR 合并之后,我的分支以及修改后的提交将在 master 中。那么已经/将要从 master 拉取的开发者会得到任何错误吗?

this 的回答并未说明 PR 合并后其他开发者从 master 获取数据是否会出现任何错误

解决方法

编辑提交和强制推送的问题在于,就 git 而言,未编辑和编辑的提交是不相关的。因此,如果有人同时拉取提交的原始版本和编辑版本,git 将尝试合并它们并弄得一团糟。

另一方面,如果他们只提取编辑过的版本,一切都很好。

因此,强制推送用于协作或最终用户下载的分支通常是个坏主意。

另一方面,强制推送拉取请求分支通常是可以的,并且通常用于根据反馈进行清理。只有最终版本的拉取请求才有可能合并到真正重要的分支中。