导入另一个 Git库到现有的Git库并保留提交记录

来源:互联网 发布:电子相册的软件 编辑:程序博客网 时间:2024/06/16 08:22

提取出的主要步骤如下:

1 切换到要合并到的仓库

2 git remote add 仓库名 被合并仓库路径

3 git fetch --all

4 git merge 仓库名/被合并仓库想合并的分支


问题描述:

我在本地有两个Git库项目(D1=PC项目  包含通用项目 ,D2=移动项目  也 包含通用项目 这两个项目在同一目录下 ), 因为这两个项目使用的通用项目是一样的如数据库访问等

只有显示层(view)不一样而已,因为在之前没有很好的规划而导致出现现在的问题,即如果D1里更改了通用项目的文件

那么D2需要先将D1通用项目的更改先合并过来然后再处理D2项目(防止出现差异导致出现问题),反之也是一样,所以如果通用项目文件经常更新时,我就需要浪费大量的时间在合并这两个Git仓库上

所以要现在要将把这两个库项目合并到一个库里以分支的方式(D1,D2)进行管理(开发PC项目时切换到D1分支,开发移动项目时切换到D2分支)

然后通用项目分别从D1,D2分支迁移出来到新分支Common 单独 进行管理,然后D1和D2删除通用项目文件

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

需要解决的问题:

      把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

  1. 切换到D1 Git仓库
  2. 使用“git remote add d2 ../d2”将D2仓库中所有信息以远程仓库的方式添加到D1的新建d2分支里
  3. 使用“git fetch --all”获取d2远程仓库的所有信息
  4. 切换到D1仓库的主分支master
  5. 合并已添加的远程分支d2到你需要的分支
  6. 处理合并后的分支,如删除远程分支不需要的分支,整理或精简合并后的提交历史,删除D2项目文件等(GIT会将两个仓库的提交按时间的方式来进行合并)
      使用pull直接进行合并
  1.  使用“git pull  远程分支地址”直接合并,应该在新的分支里进行该操作,然后再进行合
  2. 处理合并后的分支,如删除远程分支不需要的分支,整理或精简合并后的提交历史,删除D2项目文件等(GIT会将两个仓库的提交按时间的方式来进行合并)

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

因为对git并不是太了解所以并不太清楚这个之间的关系和区别, 有知道的大神或有其他解决方案请告知不胜感激

stackoverflow上有人说可以使用“git-fast-export”来实现,但搞了一二天愣是没有实现

因为之前测试时没有截图所以也忘记错误是什么了,现在也懒的再测试一遍

参考:

      I mpor t a git repository with all its history into an existing git repository

Merge two git repos into one without renaming files

     Combining multiple git repositories    

     如何导入现有的存储库到另一个 Git ? 

     Can I move the .git directory for a repo to it's parent directory?

来自为知笔记(Wiz)

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 45岁找什么工作怎么办 华为手机4g网速慢怎么办 解析软件包时出现问题怎么办 一字马不能下去髋摆不正怎么办 练轮瑜伽骆驼式腰疼怎么办 感昌咳嗽老不好怎么办 我感昌一直不好怎么办 腰间盘突出晚上睡觉痛怎么办 天天吃撑了怎么办啊 一吸气就想咳嗽怎么办 鼻子堵住了怎么办没法吸气时 一只鼻子不通气怎么办 练瑜伽后特别饿怎么办 站一天小腿肿了怎么办 练腹肌腰粗了怎么办 大专不交学费.然后退学怎么办 练瑜伽压腿一字马受伤了怎么办 银行工作人员借钱不还怎么办 借钱不还跑了但有工作怎么办 亲戚家借钱不还怎么办 学习瑜伽教练口令好复杂怎么办 练瑜伽腿的柔韧性不够怎么办 瑜伽扭转时手抓不到脚怎么办 练瑜伽腿部太硬怎么办 褶皱衣服不紧了怎么办 吃撑了肚子涨怎么办 正好压本科线该怎么办 大脚趾被砸了怎么办 脊柱侧弯每天疼怎么办 内衣扣的位置脊柱疼怎么办 练完瑜伽颈椎疼怎么办 乳胶枕头太高了怎么办 枕头太高脖子痛怎么办 颈椎突出症状缓解后怎么办 外痔疼的的历害怎么办 小肚子疼得历害怎么办 练瑜伽伤到颈椎怎么办 鼻子干口干胃烧怎么办 颈椎病压迫神经引起手麻怎么办 4个月婴儿睡觉少怎么办 晚上睡觉睡不好老是醒来怎么办