合并拉取请求时如何更改文件名

How to change filenames when merging pull requests

我必须合并两个拉取请求 A 和 B。 两个请求的路径名称相同但内容完全不同。 我不能让他们改变他们的拉取请求。

我认为可以做到这一点的一种方法是正常合并 pr A,然后在新分支上获取 B,更改我想要的内容,提交更改,然后将新分支合并到 master。

它有意义吗?如果有意义,我该怎么做?

假设拉取请求是单次提交:

我认为 "right" 的方法是获取 B 的更改、签出新分支、更改文件名并执行提交 --amend。

当您查看存储库的历史记录时,这将最有意义,因为不会有相同的文件名代表完全不同的内容。由于 B 不再有权访问回购协议,因此保持它对他们保持一致并不重要。

如果出于某种原因拉取请求不止一次提交,您可以对 B 的提交执行 git filter-branch (http://git-scm.com/docs/git-filter-branch) 并更改该分支历史记录中每个提交的文件名。

如果出于某种未知原因您需要回滚到 B 的原始提交,则进行仅更改文件名的单独提交会造成混淆。分支之间的差异也会很奇怪。重写历史记录以保持一致性可能更好(同样,因为 B 的回购不是问题)。