Git mergetool生成不需要的.orig文件

当我用Kdiff3(和其他合并工具尝试过)合并冲突解决方案时,我注意到在分辨率下创建了一个*.orig文件。 有没有办法让它不创建额外的文件?


git config可能的解决方案:

git config --global mergetool.keepBackup false

执行合并后,带有冲突标记的原始文件可以保存为扩展名为.orig的文件。
如果此变量设置为false则不保留此文件。
默认为true (即保留备份文件)。

正如在这篇gitguru文章中所建议的,另一种方法是不添加或忽略这些文件,

git mergetool以“ .orig ”后缀保存文件的合并冲突版本。
确保在添加并提交合并或将*.orig添加到.gitignore之前将其删除。

贝里克在评论中建议使用:

find . -name *.orig 
find . -name *.orig -delete

Charles Bailey在他的回答中建议要注意内部差异工具设置 ,这些设置也可以生成这些备份文件,无论git设置如何。

  • kdiff3有它自己的设置(参见手册中的“目录合并”)。
  • 其他工具如WinMerge可以有自己的备份文件扩展名(WinMerge: .bak ,如其手册中所述)。
  • 所以你也需要重置这些设置。


    你必须小心使用kdiff3因为git mergetool可以配置为在合并期间保存.orig文件, kdiff3的默认行为是独立于git mergetool保存.orig备份文件。

    您必须确保mergetool备份已关闭:

    git config --global mergetool.keepBackup false
    

    并且kdiff3的设置被设置为不创建备份:

    Configure/Options => Directory Merge => Backup Files (*.orig)
    

    要清楚,正确的git命令是:

    git config --global mergetool.keepBackup false
    

    其他答案都会在命令行中出现拼写错误,导致错误或无法正常工作。

    链接地址: http://www.djcxy.com/p/19461.html

    上一篇: Git mergetool generates unwanted .orig files

    下一篇: Remove sensitive files and their commits from Git history