合并两个git仓库的不同分支
场景说明:
在A仓库开发,在某一时刻因为一些原因,将A仓库copy为B仓库继续开发,现在需要将B仓库的变更同步到A仓库,保存提交历史
操作步骤如下:
1. 拉取干净的A仓库与B仓库到本地,目录为A和B(保留.git目录)
2. 将B仓库添加为A仓库的远程仓库
cd A
git remote add repo-B ../B
- 这里远程的B仓库为带了.git的本地目录
3. 把B仓库中数据抓取到A仓库本地
git fetch repo-B
4. 将B仓库的develop分支checkout到A仓库的待合并分支,命名为feature/b-dev
git checkout -b feature/b-dev repo-B/develop
5. 合并A仓库本地的feature/b-dev分支到本地的develop分支
git checkout develop
git merge feature/b-dev -s recursive -Xignore-space-at-eol --allow-unrelated-histories
- 忽略仅行尾\r\n不同的文件
6. 解决冲突
- 可以使用文本编辑器查看冲突文件删掉不需要的内容
- 或者通过sourcetree等GUI软件解决:右键选择冲突文件->解决冲突->使用 他人版本 解决冲突 或 使用 我的版本 解决冲突
7. 保存提交推送
8. 删除远程仓库
git remote rm repo-B
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具