zoukankan      html  css  js  c++  java
  • 从一个git仓库迁移代码到另一个git仓库(亲测有效版)(转)

    不保留log等提交的记录的迁移就不说了,soeasy!代码复制粘贴就可以 目标:把A仓库的代码迁移到B仓库并且保存所有的git log,B仓库已经存在了哦,哪怕是个空仓库。

    再说这个之前先说点其他。在使用git的时候我们可能见到这样的命令。不想看解说想直接看步骤的往下翻

    git pull origin master //拉取远程master分支的代码
    git push origin master //把代码推到远程master分支上去
    复制代码

    有没有人好奇为什么是origin,而不是其他名字,比如git pull orginal master或者git pull origin2 master;

    解答上面的问题很简单,请在你的工程中输入

    git remote
    复制代码

    发现了什么呢?默认就有一个origin,代表远程仓库。origin是有地址,地址就是当前仓库的git地址,是个url哦。所以为什么git push origin master就自动相应的推到的远程仓库的master分支了。

    下面是正确的操作步骤,(看准情况分类很重要,就两种)

    不管哪种情况请从情况1开始看哈哈:

    情况1:

    B仓库是一个空仓库,除了默认的master分支,没有任何分支。把A的branch1,branch2,branch3...依次迁入B,B也就有branch1,branch2,branch3,

    • 进入A工程
    • git remote

    原因:看下当前远程仓库有啥名字,然后取个崭新的、不重复的名字,名字是过渡,不必纠结取啥名字因为名字不是关键绑定的url才是,看下一步。这里取名origin2

    • git remote add origin2(这替换你自己心目中的名字) master

    不纠结照抄这就话

    • git remote set-url origin2 git@git.hub.com:B.git

    原因:后面的B仓库地址url才是关键,origin2只是过渡,百人百种起法

    • 进入A工程的branch1分支上
    • git pull

    原因:拉取一下最新代码

    • git checkout -b branchB1

    原因:branchB1是基于A工程branch1开的新分支,代码跟A工程branch1一毛一样,但是这个名字branchB1非常重要,非常重要,原因只有一个:这个分支会被推到B工程,结果就是B工程下面就有这个分支。所以你懂的,万一你的B工程下面已经有了该分支名字,你这个做了好多工作的branchB1是根本推不上去的,是不是很疯狂

    • git push origin2

    结果:这一步能不能成功就看上一步,不多说,就看你取名字瞎不瞎

    如果上面的结束,说明已经成功迁移出一个分支了。常见问题:

    疑问1:问其他的分支怎么做,请重复

    • 进入A工程的branch2分支上
    • git pull
    • git checkout -b branchB2
    • git push origin2 branch2 变成branchB2然后被推到B仓库

    疑问2:你还问我第三个分支怎么迁移,不解释啦实在不行哎我还能说啥。

    疑问3: 我打眼一看B工程中的分支名字都是branchB1,branchB2....怎么破, 改分支的名字直接登陆git.hub.com,打开工程你会看到branches这个,点进去可以修改.至于改名字,代码都迁移过去了,改个名字还很远吗

    情况2:

    B仓库不是一个空仓库,里面各种各样乱七八糟的分支。把A的branch1,branch2,branch3...依次迁入B,B也就有branch1,branch2,branch3,

    呃呃呃呃呃, 步骤跟上面一毛一样,能不能推成功,就看你起名字的功夫了。什么名字,就是你最后要推到B工程上去的分支名字,注意部分就是上面疑问1的地方


    作者:大番茄草莓酱
    链接:https://juejin.im/post/5d6e0524f265da03ab426a6e
    来源:掘金
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    mysql脚本导入导出
    centos6.9关闭防火墙
    hdfs 架构
    MySQL JOIN的使用
    六种方式,教你在SpringBoot初始化时搞点事情!
    mybatis快速入门
    有了Swagger2,再也不用为写Api文档头疼了
    kafka查看Topic列表及消费状态等常用命令
    @RequestMapping注解
    寻找写代码感觉(三)之使用 Spring Boot 编写接口
  • 原文地址:https://www.cnblogs.com/zl1991/p/13278248.html
Copyright © 2011-2022 走看看