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

如何合并两年前拆分的两个Git仓库并保留全部开发历史

合并两个拆分Git仓库并保留完整历史的操作步骤

前置准备

选择保留了master、develop分支的第一个仓库作为合并基准,避免后续分支重建操作。

操作步骤

  • 第一步:克隆基准仓库到本地,确保本地代码为最新状态
git clone <第一个仓库的远程地址>
cd <基准仓库本地目录>
  • 第二步:将第二个仓库作为远程源导入到当前基准仓库,拉取其所有提交历史
# 添加第二个仓库为远程源,命名为repo-2
git remote add repo-2 <第二个仓库的远程地址>
# 拉取第二个仓库的全部分支和提交记录
git fetch repo-2

执行完成后可通过git branch -a查看导入的第二个仓库的所有远程分支。

  • 第三步:合并第二个仓库的主分支到基准仓库的目标分支
    以合并到基准仓库的develop分支为例,合并到master分支逻辑完全一致:
# 切换到基准仓库的目标分支
git checkout develop
# 允许无关联历史合并,合并第二个仓库的主分支(若第二个仓库主分支为main则替换为main)
git merge repo-2/master --allow-unrelated-histories

冲突处理规则

因为当初拆分时两个仓库各自删除了对方留存的文件,几乎不会出现内容冲突,仅可能出现「本仓库已删除的文件在第二个仓库有更新」的提示,直接选择保留第二个仓库的对应文件即可。若有少量内容冲突,手动编辑解决后执行git add <冲突文件路径>标记冲突已解决。
冲突处理完成后执行提交:

git commit
  • 第四步:同步其他需留存的分支(可选)
    如果第二个仓库还有需要保留的开发分支,重复第三步的逻辑合并到基准仓库的对应分支,或单独创建新分支留存第二个仓库的历史分支即可。
  • 第五步:验证历史并推送远程
    合并完成后通过git log可查看完整提交记录,两个仓库的所有历史会按提交时间顺序完整排列,无丢失。验证无误后推送到基准仓库的远程地址即可:
git push origin develop

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:24:08