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

如何为特定扩展名文件设置Git合并策略,避免合并/恢复Stash损坏文件?

Git合并/Stash恢复时避免损坏专有二进制文件的方案

关键配置:让Git强制对指定二进制文件要求手动处理

1. 通过.gitattributes标记文件为不可自动合并

在仓库根目录创建或编辑.gitattributes文件,添加对应规则(替换为你的二进制文件后缀或精确文件名):

# 示例:匹配所有.bin后缀的专有二进制文件
*.bin binary merge=none
  • binary:明确告诉Git这是二进制文件,禁用文本模式的行尾转换、差异分析等操作,从根源避免文件损坏
  • merge=none:Git遇到该文件的合并场景时,不会尝试自动合并,直接标记为冲突状态,必须手动处理

2. Stash恢复时强制手动处理

Stash恢复操作默认可能自动合并,要避免这种情况,执行恢复时添加--no-index参数:

git stash apply --no-index

这个命令会跳过自动合并逻辑,若本地文件与Stash中的版本存在差异,直接标记为冲突,必须手动确认处理。

注意事项

  • 务必将.gitattributes提交到仓库,确保所有协作成员的Git环境都应用这个规则
  • 配置后先做小范围测试:修改二进制文件、创建分支合并、执行Stash/恢复,验证是否触发预期的手动处理流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 14:35:59