gpt4 book ai didi

git - 如何使 Git merge 操作忽略对两个分支所做的相同更改?

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

假设我们有一个开发分支“A”和两个子分支“B1”和“B2”(均来自 A)。假设您在 B1 和 B2 中的整个项目上运行格式代码命令(在我们的例子中是 ReSharper 的清理代码)。

现在,当我们尝试将 B2 merge 到 B1 时,Git 将报告项目中所有文件 的冲突(在我们的例子中是相当多的文件)。当仔细观察每个冲突时,Git 似乎认为存在冲突,即使在 B1 和 B2 中进行了完全相同的更改(?)

如果 B1 和 B2 中的文件完全相同,是否有自定义驱动程序/git 属性等方法可以使 Git merge 操作不报告冲突?

也许我弄错了,也许是空格/行尾问题(例如 B1 和 B2 中的行尾不同),在这种情况下我可以在此处找到有关堆栈溢出的解决方案。

最佳答案

昨天,我在与主分支 merge 后从(和到)一个侧分支进行了大量挑选后,遇到了类似的问题。很多冲突与相同的变化。我用 merge 策略解决了这个问题:

git checkout main-branch
merge --no-commit -s recursive -X ours side-branch

您可以将“我们的”更改为“他们的”。要小心,因为选择“我们的”或“他们的”一方会自动解决所有冲突。在我的例子中,我几乎没有因此而发生错误 merge ,我手动修复了。在此处查看其他有趣的 merge 策略选项:https://www.kernel.org/pub/software/scm/git/docs/git-merge.html

您也可以尝试使用 rebase (在我的例子中它效果不佳,因为分支差异太大,并且我在每个新的 rebase 交互中都有新的冲突)。看到这个:http://davitenio.wordpress.com/2008/09/27/git-merge-after-git-cherry-pick-avoiding-duplicate-commits/

关于git - 如何使 Git merge 操作忽略对两个分支所做的相同更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10549142/

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