GoForum🌐 V2EX

有一个 git 仓库合并问题,不知道怎么办才好

dys0327 · 2026-06-03 14:23 · 0 次点赞 · 12 条回复

目前有两个仓库,简称仓库 A 和仓库 B

两个仓库结构如下: https://i.imgur.com/IgvSPKH.png

最终想要实现将两个仓库的代码合并,并且合并时可以提示冲突,手动解决。

请教下有没有好的办法

12 条回复
Nasdaq · 2026-06-03 14:23
#1

速请 CodeX App 真神

javalaw2010 · 2026-06-03 14:28
#2

同意一楼意见

coolair · 2026-06-03 14:28
#3

直接 clone 一个仓库 A 或 B ,然后将另一个 B 或 A 设置成 upstream ,直接 merge upstream –allow-unrelated-histories 不就可以了吗

dys0327 · 2026-06-03 14:33
#4

@coolair B 和 A 的仓库结构不一样,一个是 xxx_cloud ,一个是 yyy_cloud ,但是内层的子模块名称时一致的

evan1 · 2026-06-03 14:33
#5

idea 可以直接对比文件夹。具体就是在 idea 里打开仓库 A ,右键 moduleA 的文件夹,然后 compare with ,在弹出的页面选择仓库 B 的 moduleA 文件夹。然后可以逐一对比异同。和 git 的页面差不多。

https://i.imgur.com/KT0TE1A.png https://i.imgur.com/ABtJplg.png

coolair · 2026-06-03 14:33
#6

@dys0327 #4 这有什么关系,你直接 clone 仓库 B ,然后 git mv 重命名,再 merge 。

zizon · 2026-06-03 14:38
#7

仓库 B 叠个改名的 commit 然后 rebase 到 A?

evan1 · 2026-06-03 14:38
#8

@evan1 #4 不一样的可以直接在这个页面合并。

dys0327 · 2026-06-03 14:38
#9

@coolair #6 git 用的不熟练,我去查查 https://i.imgur.com/N9E3iZ2.png

dys0327 · 2026-06-03 14:43
#10

@evan1 #5 这个应该是直接比较的磁盘上的文件?我直接以仓库 A 为基础,比对目标选仓库 B 的目录,他应该是不区分仓库 B 中的分支,比对的是所有分支的文件?

evan1 · 2026-06-03 14:43
#11

@dys0327 #10 是的,直接比较磁盘上的文件。

你可以 down 下来两个仓库的文件,在本地对比+合并。弄完之后再提交到仓库 A 里面。

evan1 · 2026-06-03 14:43
#12

@dys0327 #10 你本地也只是一个分支的文件,当前是哪个分支对比的就是哪个分支。

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: dys0327
发布: 2026-06-03
点赞: 0
回复: 0