gpt4 book ai didi

git - 如何通过获取当前分支中的版本来自动解决 Git 冲突?

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

假设我在运行此命令时在 foo/bar.txt 上遇到 merge 冲突:

$ git checkout A
$ git merge B

我想通过从分支 A 获取 foo/bar.txt 来自动解决冲突。(我知道我在做什么,我确实需要这个。分支 B 中的版本是错误的,在这种情况下我不关心丢失工作树中的更改。)看来我可以通过运行这些命令来做到这一点:

$ git reset    foo/bar.txt
$ git checkout foo/bar.txt

是否有更简单的单命令解决方案?

不幸的是,即使没有冲突,这些命令也会更改 foo/bar.txt,我不希望这样。如果没有冲突,我想将 foo/bar.txt 保持在 git merge B 离开它的任何状态。

所以我需要一个 Unix shell 命令,它会检测 foo/bar.txt 是否有冲突,如果有,它会通过获取 的版本来解决冲突>foo/bar.txt 来自当前分支。它不会做任何其他事情,即它不会修改其他文件,它不会提交更改,如果没有冲突,它也不会更改 foo/bar.txt文件。

最佳答案

您可以将 merge 策略选项 ours 指定为 recursive(默认) merge 策略。它会进行正常的 merge ,但如果发生冲突,则会选择当前分支的版本。

git checkout A
git merge -Xours B

关于git - 如何通过获取当前分支中的版本来自动解决 Git 冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14182259/

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