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

10 小时 19 分钟前
 dys0327
目前有两个仓库,简称仓库 A 和仓库 B

两个仓库结构如下:


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

请教下有没有好的办法
1329 次点击
所在节点    git
19 条回复
Nasdaq
10 小时 18 分钟前
速请 CodeX App 真神
javalaw2010
10 小时 15 分钟前
同意一楼意见
coolair
10 小时 13 分钟前
直接 clone 一个仓库 A 或 B ,然后将另一个 B 或 A 设置成 upstream ,直接 merge upstream --allow-unrelated-histories 不就可以了吗
dys0327
10 小时 11 分钟前
@coolair B 和 A 的仓库结构不一样,一个是 xxx_cloud ,一个是 yyy_cloud ,但是内层的子模块名称时一致的
evan1
10 小时 8 分钟前
idea 可以直接对比文件夹。具体就是在 idea 里打开仓库 A ,右键 moduleA 的文件夹,然后 compare with ,在弹出的页面选择仓库 B 的 moduleA 文件夹。然后可以逐一对比异同。和 git 的页面差不多。


coolair
10 小时 8 分钟前
@dys0327 #4 这有什么关系,你直接 clone 仓库 B ,然后 git mv 重命名,再 merge 。
zizon
10 小时 7 分钟前
仓库 B 叠个改名的 commit 然后 rebase 到 A?
evan1
10 小时 7 分钟前
@evan1 #4 不一样的可以直接在这个页面合并。
dys0327
10 小时 6 分钟前
@coolair #6 git 用的不熟练,我去查查
dys0327
10 小时 1 分钟前
@evan1 #5 这个应该是直接比较的磁盘上的文件?我直接以仓库 A 为基础,比对目标选仓库 B 的目录,他应该是不区分仓库 B 中的分支,比对的是所有分支的文件?
evan1
9 小时 59 分钟前
@dys0327 #10 是的,直接比较磁盘上的文件。

你可以 down 下来两个仓库的文件,在本地对比+合并。弄完之后再提交到仓库 A 里面。
evan1
9 小时 58 分钟前
@dys0327 #10 你本地也只是一个分支的文件,当前是哪个分支对比的就是哪个分支。
ca2oh4
9 小时 35 分钟前
pr ?
gadfly3173
9 小时 24 分钟前
听起来适合用 git filter repo ,因为你还需要重写 module 的路径。
BarryYangi
9 小时 19 分钟前
把这张图扔给 codex/cc 完事
gscsnm
9 小时 11 分钟前
你甚至把这张图扔给豆包,他都能给解决方案。。。
stevenself
8 小时 39 分钟前
这两仓库建一个新的目录,然后 codex/cc 帮你做
kphcdr
7 小时 42 分钟前
一般情况下 moduleA ..B..C 应该都是 git 的 submodule ,应该各自有独立的仓库
SoloCompany
2 小时 58 分钟前
正确做法,先把代码 checkout 到同一 repo 的不同分支,然后分别对两个分支按照你的意愿执行例如 cloud xy 的子目录重命名,然后分别 commit ,再然后 merge 解决冲突

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1217596

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX