【问题标题】:Changing git conflict markers更改 git 冲突标记
【发布时间】:2012-07-08 19:09:33
【问题描述】:

是否可以将冲突标记更改为用户定义的内容?

动机:

在我身上发生过好几次,由于仓促和不小心合并几个分支,我的 LaTeX 文档中有一些遗留的合并标签。对于大多数编程项目,这些标签会导致语法错误,因此我会发现它们。然而,在 Latex 中,>>> 标签只是被编译成其他一些字符序列而没有任何警告。

为了解决这个问题,我想将这些冲突标记更改为无法编译的东西,或者至少让它们非常明显地发现(例如分页符、大字体警告或编译警告)。

我当然可以制作一个 (bash) 脚本,用我选择的东西替换所有这些标记,但我更希望它是解决这个问题的更优雅的解决方案。

附:我找到了 merge.conflictstyle 选项,但 diff3 选项只添加了 ||||也可以在没有警告的情况下编译。

【问题讨论】:

    标签: git merge latex git-merge


    【解决方案1】:

    即使有一种方法可以使自定义冲突标记 LaTeX 成为特定的(我不认为有,但我很可能是错的),选择一个在所有情况下都有效的方法可能很困难。一个更简单的解决方案是启用 git 的 stock “pre-commit” 钩子,它在提交时识别冲突标记,如果存在则拒绝提交。要启用它:

    cd <repo>
    mv .git/hooks/pre-commit.sample .git/hooks/pre-commit
    

    git 附带的 stock hook 也会查找空格错误。要手动运行检查,请使用以下命令:

    git diff --check
    

    【讨论】:

    • 这是一个方便的解决方案。当错误地提交带有合并标签的文件时,它将打印带有文件名和行号的“剩余冲突标记”。这肯定有助于保持我的文档正确。
    【解决方案2】:

    也许您可以用 大数字 更改属性conflict-marker-size大数字,我的意思是一个数字,因为该行太长,会触发 Latex 警告。

    $ cat .gitattributes
    *.tex conflict-marker-size=100 ;# Or whatever makes Latex unhappy
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-27
      • 2021-10-16
      • 1970-01-01
      • 2011-11-22
      相关资源
      最近更新 更多