zoukankan      html  css  js  c++  java
  • 带着历史提交记录迁移git仓库

    1. git push --mirror

    --mirror模式会把本地的分支都克隆

    // 先用--bare克隆裸仓库
    git clone git@gitee.com:zhangamie/testApp.git --bare
    // 进入testApp.git,这样就可以把所有分支都克隆到新仓库了
    git push --mirror git@gitee.com:zhangamie/testApp2.git

     或

    // 普通模式克隆仓库
    git clone git@gitee.com:zhangamie/testApp.git
    // push所有本地已存在的分支(不管是否有对应的远程分支)
    git push --mirror git@gitee.com:zhangamie/testApp2.git

    2. 加远程源

    git remote add origin2 git@gitee.com:zhangamie/testApp2.git
    git push origin2
    git checkout dev
    git push origin2
    ...

    这种方式的缺点是只能一次push一个分支,如果要克隆所有分支,需要checkout到各个分支然后push

    3. git subtree

    推荐阅读:git subtree操作

    上面2种都是整个仓库的迁移,而git subtree可以把某个子目录拆出去

    例如想把仓库的目录src/apps/testApp拆出去一个仓库,并且带上这个目录的所有提交历史记录

    首先我们得创建一个空的仓库(记得别带任何初始化文件,例如README.md)

    例如:git@github.com:xxxx/testApp.git master

    然后到主仓库执行这段git命令,就可以到testApp看到代码啦

    git subtree push --prefix=src/apps/testApp git@github.com:xxxx/testApp.git master
  • 相关阅读:
    as3 绕中心点旋转
    TweenMax
    As3支持的Html标签一览
    AS3.0 静音和停止所有声音
    as3 如何判断同时按下两个键
    前置窗体
    系统音效控制
    LocalConnection
    as3代码实现调用摄像头
    air 加载网页
  • 原文地址:https://www.cnblogs.com/amiezhang/p/11120276.html
Copyright © 2011-2022 走看看