【问题标题】:How to change filenames when merging pull requests合并拉取请求时如何更改文件名
【发布时间】:2015-03-04 22:20:09
【问题描述】:

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

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

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

【问题讨论】:

  • 当 B 用相同的路径更新他们的内容时会发生什么?这是维护的噩梦。
  • 他们不会,他们无法再访问 repo。

标签: git merge


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 2021-05-01
    • 1970-01-01
    • 2015-04-26
    • 2019-03-07
    • 1970-01-01
    • 2013-06-09
    相关资源
    最近更新 更多