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

时间:2015-03-04 22:20:10

标签: git merge

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

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

它是否有意义,如果它有,我该怎么办?

1 个答案:

答案 0 :(得分:1)

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

我认为这样做的“正确”方法是获取B的更改,签出新分支,更改文件名并执行提交--amend。

当您查看存储库的历史记录时,这将是最有意义的,因为您将没有相同的文件名表示完全不同的内容。由于B不再能访问repo,因此保持它们的一致性并不重要。

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

如果出于某种未知原因需要回滚到B的原始提交,则进行单独的提交只会更改文件名将导致混淆。分支之间的差异也会非常奇怪。可能更好地重写历史以保持一致性(再次,因为B的回购不是问题)。