Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 合并拉取请求时如何更改文件名_Git_Merge - Fatal编程技术网

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

Git 合并拉取请求时如何更改文件名,git,merge,Git,Merge,我必须合并两个请求A和B。 两个请求的路径名称相同,但内容完全不同。 我不能让他们改变他们的请求 我认为可以这样做的一种方法是正常地合并pra,然后在一个新分支上获取B,更改我想要的,提交更改,然后将新分支合并到master上 这有意义吗?如果有,我怎么做 假设拉动请求是单次提交: 我认为“正确”的方法是获取B的更改,签出一个新分支,更改文件名,然后执行提交-修改 当您查看存储库的历史记录时,这将非常有意义,因为您不会有相同的文件名来表示完全不同的内容。由于B不再拥有回购协议的访问权,因此您为他

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

我认为可以这样做的一种方法是正常地合并pra,然后在一个新分支上获取B,更改我想要的,提交更改,然后将新分支合并到master上


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

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

我认为“正确”的方法是获取B的更改,签出一个新分支,更改文件名,然后执行提交-修改

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

如果出于某种原因,拉取请求是多个提交,您可以对B的提交执行
git filter branch
(),并更改该分支历史记录中每个提交的文件名


如果出于某种未知的原因需要回滚到B的原始提交,则单独提交一个仅更改文件名的文件将导致混乱。此外,分支之间的区分也会非常奇怪。可能最好重写历史以保持一致性(同样,因为B的回购不是问题)。

当B使用相同的路径更新其内容时会发生什么?这是一场维护噩梦。他们不会,他们再也无法获得回购协议了。