You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git合并生成.bak与.orig文件,合并后需提交哪些文件?

解决Git合并后备份文件与提交内容的疑惑

嘿,我来帮你理清这个问题~

首先得明确:你看到的.bak和.orig文件,是WinMerge在帮你解决冲突时自动生成的本地备份文件,它们不属于Git的追踪范围——也就是说Git根本不会把这些文件当成需要提交的内容。

你真正需要提交的是这些文件:

  • 那些没有.bak/.orig后缀的原文件!因为你用WinMerge解决冲突时,实际修改并保存的就是这些原文件,合并后的内容都存在这里面。

关于备份文件的处理:

  • .orig是Git在冲突时生成的备份,.bak是WinMerge额外生成的备份,两者都可以安全删除,完全不会影响你已经解决好冲突的原文件,更不会丢失合并的内容。

为什么删完备份后看起来没文件提交?

大概率是你没注意到原文件已经被修改了,你可以用这两个命令确认:

  1. 输入git status,Git会列出所有被修改过的原文件(也就是你解决冲突后的文件),这些就是待提交的内容。
  2. 输入git diff <文件名>,可以查看具体的修改内容,确认合并的代码已经保存在原文件里了。

正确的提交步骤:

  1. 先删除所有.bak和.orig文件(可选,但建议清理,避免文件杂乱)
  2. 把修改后的原文件添加到暂存区:git add .(或者指定单个文件git add 文件名)
  3. 提交合并结果:git commit(此时会自动生成合并提交的默认信息,你也可以修改后提交)

别担心,只要你在WinMerge里正确解决了冲突并保存了原文件,合并的内容就都在里面,删备份文件完全不会影响~

内容的提问来源于stack exchange,提问作者Robin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:24:05