合并两个git仓库,并保留每个仓库的历史

本文介绍了如何将repository2合并到repository1,同时在repository1中完整保留repository2的所有分支历史。首先,通过在repository1中添加repository2的远程分支并执行fetch操作。然后,利用循环命令将repository2的分支转换为repository1的分支,从而实现历史记录的保留。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     问题:有两个git仓库 repository1和repository2,想把repository2合并到repository1,并在repository1中保留repository2的所有分支历史

   方案:  1.在repository1中添加远程分支,,跟踪repository2,并把repository2全部分支拉到repository1中,命令为:

                 git  remote add other /path/to/repository2

                 git fetch other

                  2.第一步执行完后,在repository1工作目录中.git/refs/remotes/ 文件夹下有个other文件夹,ohter文件夹里是所有的repository2分支,因此只要把这些分支设置成repository1分支即可,命令为:

                  for branch in `ls .git/refs/remotes/ohter`

                  do

                       if test "${branch}"="master"

                       then

                           git checkout -b othermaster other/${branch}

                        else

                           git checkout  -b ${branch} other/${branch}

                       fi

                    done

       参考:http://stackoverflow.com/questions/1683531/how-to-import-existing-git-repository-into-another

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值