合并两个Git仓库到另一个仓库并保持原有的提交记录

合并两个Git仓库到另一个仓库并保持原有的提交记录

有两个别人的远程git仓库:git@gitee.com:hou_zhan_guo/express-sequelize-api.gitgit@gitee.com:hou_zhan_guo/node-admin.git

包含了一个nodejs后端项目和一个vue前端项目。

如何把这两个仓库合并到我的git@gitee.com:e450n/node-api-admin.git仓库中,并且保持原有的提交记录?

问了问AI,解决方法如下:

合并两个Git仓库到另一个仓库并保持原有的提交记录,你可以使用git subtree或者git subtree命令。以下是使用git subtree命令的步骤:

  1. 新建并克隆目标仓库:首先,你需要新建并且克隆你想要合并到的仓库。

    image

    git clone git@gitee.com:e450n/node-api-admin.git
    cd node-api-admin
  2. 添加源仓库作为subtree:然后,你可以将第一个源仓库添加为子树。

    git remote add -f express-sequelize-api git@gitee.com:hou_zhan_guo/express-sequelize-api.git
    git subtree add --prefix=express-sequelize-api express-sequelize-api master #添加 --squash会压缩所有的提交为单一提交。

    在这个命令中,--prefix=express-sequelize-api指定了在目标仓库中放置源仓库的路径。master是源仓库的分支,

  3. 重复步骤2添加第二个仓库:同样的方法添加第二个仓库。

    git remote add -f node-admin git@gitee.com:hou_zhan_guo/node-admin.git
    git subtree add --prefix=node-admin node-admin main #添加 --squash会压缩所有的提交为单一提交。
  4. 推送更改:最后,你需要将更改推送到目标仓库。

    git push origin master

结果如下:

image

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容