gpt4 book ai didi

Git - 即使没有冲突,如何强制手动 merge

转载 作者:太空狗 更新时间:2023-10-29 14:11:24 25 4
gpt4 key购买 nike

这是一个多年来被问过很多次的问题。我找到了很多答案,尤其是这个:

Git - how to force merge conflict and manual merge on selected file (@Dan Moulding)

此页面包含如何设置始终返回失败的 merge 驱动程序的详细指南,从而使手动 merge 成为可能。我试图为 Windows 调整该解决方案:

  • 我在 %homepath%\.gitconfig 中添加了以下内容:
    [merge "verify"]
    name = merge and verify driver
    driver = %homepath%\\merge-and-verify-driver.bat %A %O %B
  • 我把驱动改成了
    cmd /K "echo Working > merge.log & git merge-file %1% %2% %3% & exit 1"
    (添加了 echo Working > merge.log 以检查是否调用了驱动程序)。
  • 并在 repo 的根目录下创建了一个文件 .gitattributes,其中包含以下行:
    *.txt merge=verify

  • 不幸的是,它不起作用。我尝试 merge 一个文件 feature.txt ,唉, merge 成功完成。似乎根本没有调用驱动程序,因为没有创建 merge.log 文件。

    我做错了什么吗?任何强制手动 merge 问题的解决方案都是最受欢迎的。

    最佳答案

    tl; dr:我试着重复你所描述的,它似乎有效。与您的版本相比,有 2 个更改,但没有它们,我的 merge 也失败了(因为驱动程序基本上无法运行)

    我试过这个:

    创建一个 merge 驱动程序 $HOME/bin/errorout.bat :

    exit 1

    为 merge 类型创建一个部分
    [merge "errorout"]
    name = errorout
    driver = ~/bin/errorout.bat %A %O %B

    创建 .gitattributes 文件:
    *.txt merge=errorout

    之后,错误被报告,因为我认为你希望它被报告:
     $ git merge a

    C:\...>exit 1
    Auto-merging f.txt
    CONFLICT (content): Merge conflict in f.txt
    Automatic merge failed; fix conflicts and then commit the result.

    我有 git 版本 2.11.0.rc1.windows.1。我无法成功执行您指定的复杂命令,它报告了一些语法错误。

    关于Git - 即使没有冲突,如何强制手动 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41822955/

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