git 仓库迁移至其他仓库子目录
废话
可视化git管理用久了,这个问题也比较小众,可能是问题检索能力也下降了,试了几种方案都比较繁琐,记录下操作过程。
正文
现在有两个 git 仓库,如何将
a.git
迁移到b.git
的/sub-app/a
目录下并保留提交历史。a.git
首先操作要被迁移的
a.git
。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23git clone a.git
// 新建分支
git checkout -b move_to_b
// 新建对应目录
mkdir sub-app/a
// 手动迁移当前项目文件到 sub-app/a,不包含 .git
// TOOD 文件mv命令
// 提交变动
git add .
git commit -m "chore: move a to sub-app/a"
// 将当前分支推送到 b.git
// 这里可直接使用文件路径指向 b.git 所在目录
git remote add b ../b
git fetch b
// 拉取 b 远程的分支, 进行合并
git merge new_barnch --allow-unrelated-histories
git push b move_to_bb.git
1
2
3
4
5
6
7// 新建分支
git checkout -b merge-add-sub-a
// 将 a.git 推送的 move_to_b 合并到当前分支
git merge move_to_b --allow-unrelated-histories
// 合并完成后正常推送即可提前开香槟🍾
🙏 如有其他简洁方案,提前感谢指教。
相关检索参考链接
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 zhangyuhan2016 - blog
评论