我们正在这里为一个项目安装 git,我正在和另一个同事一起玩。
我一直在解决一些精心设计的 merge 冲突,但我最终得到了一堆我不想要的额外文件。它们是 .BACKUP .BASE、.LOCAL 和 .REMOTE 文件。根据这些名称,它们似乎来自解决我的 merge 。我得到的一些确切的文件名是:
- index.shtml.BACKUP.16908.shtml
- index.shtml.BASE.16908.shtml
- index.shtml.LOCAL.16908.shtml
- index.shtml.REMOTE.16908.shtml
- 我还有另一组上面的文件,但以 .21384 结尾,假设来自另一次 merge 尝试
是否可以不保存这些文件?可以想象,现在有 9 个版本的 index.shtml 有点烦人。我正在使用 git 的内置 merge 工具 tortoisemerge。
我通过运行 git log 遇到了类似的事情,它显然创建了一个“df”文件。只需将其包含在 .gitignore 文件中即可轻松处理。不过,我不想在整个项目中像上面那样累积文件。
最佳答案
正如另一个答案提到的,这些文件似乎是在解决冲突时由 Git 的 merge 工具创建的。默认的 Git 设置会留下这些额外的文件,即使冲突已解决,但当前版本的 Git 允许您设置 config variable使 Git 在完成 merge 后始终删除这些临时文件。
您可以在 Git Bash 中使用命令...
git config --global mergetool.keepBackup false
当然,--global
参数是可选的,它控制此设置是针对该用户本地的(全局)还是当前存储库。
更多信息 here .
编辑:即使启用了此设置,如果您的存储库在 MERGE 期间最终处于未解析状态且您尝试通过硬重置中止来修复,这些文件也会累积并保留。
例如,我在使用 Qt Creator 4.7.x 的某些配置时多次发生这种情况,直到我意识到发生了什么并在我的机器上正确配置了 Git 的 mergetool
。
注意:我有一个类似的问题,结果在这里。尽管当前的答案最终引导我找到了正确的解决方案,但我觉得它没有回答问题,因此需要更新答案。
关于git .BACKUP .BASE .LOCAL .REMOTE 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14044765/