gpt4 book ai didi

git - 从重命名的文件向后移植更改

转载 作者:IT王子 更新时间:2023-10-29 01:14:25 25 4
gpt4 key购买 nike

我有两个分支:主干、生产。我在主干中发现了一个问题,修复并提交了它,推送了它。现在它已经过测试,我需要将更改作为热修复 merge 到生产分支中。我尝试使用 cherry-pick。但是它不起作用,因为修复中的更改文件在我不希望投入生产的一些重构过程中早些时候在主干中被重命名。

我不想 merge 所有内容,但只接受此提交。 cherry pick 因“已被我们删除”冲突而失败(当然,新文件甚至从未存在于生产分支中)。

将更改引入旧文件的正确方法是什么?

最佳答案

如果:

  • 您期望/希望 Git 会检测到主干上文件的移动或重命名,但它没有,并且
  • 你的仓库有合理数量的文件

... 那么你绝对应该考虑像这样更改你的 git 配置:

$ git config merge.renameLimit 999999

在 merge/cherry-pick 期间,git 可能会在找到合适的重命名匹配之前达到默认文件检查限制(我认为是 400 或 1000 或类似的值)。提高此限制可能会导致 merge/cherry-pick 在搜索您重命名的文件时花费更长的时间,但它可以帮助避免“已被我们删除”的 merge 挑战。

这应该可以解决问题,但是如果您重命名的文件很小并且分支之间的更改很重要,您也可以使用 -X rename-threshold 设置,例如使用 -X rename-threshold=25% 将其从默认的 50% 降低。

关于git - 从重命名的文件向后移植更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9772598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com