git .BACKUP .BASE .LOCAL .REMOTE 文件

标签 git file merge git-merge

我们正在这里为一个项目安装 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/

相关文章:

laravel - 从 storage/app/public/photos 中删除 Laravel 文件

multithreading - JGit:是否有线程安全的方式来添加和更新文件

git list 在几次提交中更改了文件

Bash 验证和条件语句

git - 为什么我可以 rebase 但我不能在 git 中 merge ?

c# - 需要从 C# 创建一个 PDF 文件,并将另一个 PDF 文件作为背景水印

c# - 如何合并数据集中的两列?

linux - Linux 上的 Bitbucket git 问题

Git 推送在 Git Bash 中有效,但在 SmartGit 或 TortoiseGit 中无效

java - 有没有办法使用 jersey 配置部分或完全序列化为 json?