收到以下消息,这在网上似乎并不常见:
fatal: unknown style 'diff' given for 'merge.conflictstyle'
我查找了 merge.conflictstyle 和 diff 的样式,diff3 似乎合适。我不确定我可以/应该在哪里更改此设置,但它不允许我推送任何更改,因为分支位于后面,因为由于上面的消息,我无法拉取:(。
尝试跑步
$ git config merge.conflictstyle diff3
看看是否有效。
问题是您的配置选项不正确。该命令会将其更改为正确的值,
diff3
。
运行这 2 个命令:
git config --global push.default upstream
git config --global merge.conflictstyle diff3
然后再次尝试合并,现在可能可以工作了
这个 git 命令应该可以解决问题:
git config merge.conflictstyle merge
在 Git 2.45(2024 年第 2 季度)之前,第 13 批,“
git checkout --conflict=bad
”(man) 报告了错误的 conflictStyle
,就好像它被赋予了配置变量一样;已更正报告命令行选项错误。
请参见5A99C1A,Commitdbeaf8e,Commit135cc71,Commit412AFF7,Commit7457014(2024年3月14日),由phillip wood(phillipwood
(由Junio C Hamano --
gitster
,2024 年 4 月 1 日)
checkout
”会给出错误消息:清理--冲突=解析 签字人:Phillip Wood
传递无效的冲突样式名称,例如“
--conflict=bad
这是不幸的,因为它讨论的是配置设置而不是命令行上给出的选项。
error: unknown style 'bad' given for 'merge.conflictstyle'
发生这种情况是因为实现调用git_xmerge_config()
使用命令行上给定的值设置冲突样式。
使用新添加的
并将值沿调用链传递以覆盖配置设置。 这也意味着我们可以避免设置调用parse_conflict_style_name()
config_context
所需的结构git_xmerge_config()
。现在在回调中解析该选项,以避免存储选项名称。这是现在行为的改变git checkout --conflict=bad --conflict=diff3
在解析“--conflict=bad
”时会出错,而在此更改之前它会成功,因为它只会尝试解析命令行上给出的最后一个“--conflict
”选项的值。
您现在应该看到:error: unknown conflict style 'bad'.