git代码库迁移保留commit历史_如何导入另一个 Git库到现有的Git库并保留提交记录...

展开全部

现在我如何将一个库合并到另62616964757a686964616fe59b9ee7ad9431333365633864一个库呢(提交记录必须不能丢失)?经过几天的测试终于解决

需要解决的问题:

把D2仓库的所有内容和提交记录合并到D1 仓库中中,然后以分支的方式来管理D2项目

如何从D2仓库和D1仓库迁移出通用项目文件并保留提交记录以后会单独处理

目前的目录结构

F:

|--   D1

|-- D1.txt

|--.git

|--   D2

|-- D2.txt

|--.git

我期望的目录结构

F:

|--   D1

|-- D1.txt

|--.git

|--   D2  合并D2仓库文件和提交记录到D1,以分支的方式管理

|-- D2.txt

解决方案:

先看下D1和D2的提交记录

D2仓库的提交记录

D1仓库的提交记录

使用remote加fetch的方法将D2的文件和提交合并到D1切换到D1 Git仓库

使用“git remote add d2 ../d2”将D2仓库中所有信息以远程仓库的方式添加到D1的新建d2分支里

使用“git fetch --all”获取d2远程仓库的所有信息,--a 代表获取D2仓库的所有分支和tag等信息(合并前请尽量保持一个分支,否则合并后提交记录不忍直视)

切换到D1仓库的主分支master

合并已添加的远程分支d2到你需要的分支

处理合并后的分支,如删除远程分支不需要的分支,整理或精简合并后的提交历史,删除D2项目文件等(GIT会将两个仓库的提交按时间的方式来进行合并)

使用pull直接进行合并

使用“git pull  远程分支地址”直接合并,应该在新的分支里进行该操作,然后再进行合

处理合并后的分支,如删除远程分支不需要的分支,整理或精简合并后的提交历史,删除D2项目文件等(GIT会将两个仓库的提交按时间的方式来进行合并)

以上两种方式都可以将一个Git仓库的文件和提交合并到另一个Git仓库(Pull更简单点)

因为对git并不是太了解所以并不太清楚这个之间的关系和区别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值