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

如何合并其他repo的分支并排除指定文件保留本地原有版本

Git跨仓库合并时保留指定本地文件不被覆盖的操作方法

你需要将yyy仓库的分支合并到当前xxx仓库,同时保留config.js、options.js、views/home.ejs三个文件的本地版本、忽略yyy仓库对应文件改动的需求,可通过以下两种方案实现:

方案1:单次合并快速处理(适合仅合并一次的场景)

你原本的基础操作流程不变,只需要在执行完git merge --allow-unrelated-histories yyy/master命令之后,追加以下操作:

  • 用当前分支合并前的本地版本覆盖三个目标文件:
git checkout HEAD -- config.js options.js views/home.ejs
  • 确认文件内容符合预期后,正常提交合并结果即可:
git add config.js options.js views/home.ejs
git commit

如果合并过程中提示这三个文件有冲突,执行上述checkout命令后冲突会直接解决,不需要手动编辑冲突内容。

方案2:配置永久合并规则(适合需要多次合并yyy仓库代码的场景)

如果后续还要频繁从yyy仓库拉取代码合并,可以提前配置合并规则,以后每次合并都会自动保留这三个文件的本地版本:

  1. 在当前xxx仓库的根目录新建.gitattributes文件,写入以下内容:
config.js merge=ours
options.js merge=ours
views/home.ejs merge=ours
  1. 将这个规则提交到当前分支:
git add .gitattributes
git commit -m "配置合并时保留本地指定文件的规则"
  1. 再执行你原本的合并命令即可,Git会自动忽略yyy仓库对这三个文件的改动,直接使用本地版本。
    如果后续不需要这个规则了,删除.gitattributes文件并提交即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 23:18:03