Git合并生成.bak与.orig文件,合并后需提交哪些文件?
解决Git合并后备份文件与提交内容的疑惑
嘿,我来帮你理清这个问题~
首先得明确:你看到的.bak和.orig文件,是WinMerge在帮你解决冲突时自动生成的本地备份文件,它们不属于Git的追踪范围——也就是说Git根本不会把这些文件当成需要提交的内容。
你真正需要提交的是这些文件:
- 那些没有.bak/.orig后缀的原文件!因为你用WinMerge解决冲突时,实际修改并保存的就是这些原文件,合并后的内容都存在这里面。
关于备份文件的处理:
.orig是Git在冲突时生成的备份,.bak是WinMerge额外生成的备份,两者都可以安全删除,完全不会影响你已经解决好冲突的原文件,更不会丢失合并的内容。
为什么删完备份后看起来没文件提交?
大概率是你没注意到原文件已经被修改了,你可以用这两个命令确认:
- 输入
git status,Git会列出所有被修改过的原文件(也就是你解决冲突后的文件),这些就是待提交的内容。 - 输入
git diff <文件名>,可以查看具体的修改内容,确认合并的代码已经保存在原文件里了。
正确的提交步骤:
- 先删除所有
.bak和.orig文件(可选,但建议清理,避免文件杂乱) - 把修改后的原文件添加到暂存区:
git add .(或者指定单个文件git add 文件名) - 提交合并结果:
git commit(此时会自动生成合并提交的默认信息,你也可以修改后提交)
别担心,只要你在WinMerge里正确解决了冲突并保存了原文件,合并的内容就都在里面,删备份文件完全不会影响~
内容的提问来源于stack exchange,提问作者Robin
相关产品推荐
相关产品推荐

