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

执行git pull时如何跳过本地已存在文件避免合并覆盖报错

解决方案

报错原因

你遇到的报错是因为repo2作为未完成任何提交的空Git仓库,工作区的file1属于未跟踪文件,而上游repo1的master分支存在同名已提交文件,Git默认会阻止可能覆盖本地未跟踪文件的合并操作。

操作步骤

你不需要删除本地已有的file1,按以下步骤操作即可:

  • 第一步:将本地已有的file1加入Git暂存区
    git add file1
    
  • 第二步:生成本地仓库的初始提交
    git commit -m "init: add local file1"
    
  • 第三步:执行拉取合并操作
    git pull origin master --allow-unrelated-histories
    

原理说明

你提前拷贝的file1和repo1中提交的file1内容完全一致,Git比对文件哈希后会直接复用本地文件内容,不会重复拉取,也不会产生额外的磁盘占用,和本地克隆时硬链接节省空间的效果一致。如果两边file1内容有差异,你可以把第三步的命令换成git pull origin master --allow-unrelated-histories -X ours,就会强制优先保留本地file1的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:54:02