背景

今天工作中碰到个需求,需要将git里面groupA中的一个项目迁移到groupB中,通常麻烦点的做法就是在groupB中建一个新项目,将所有代码拷贝过去,但是这样的话,所有的分支和历史记录就没有了。
基于此,有没有一个好办法呢,可以通过命令行的操作,就将一个项目完整的迁移过去呢。在网上查询了一些资料,找到了这样的方法,在这里做一个记录

迁移步骤

第一步:克隆老项目到本地的一个目录下

git clone --bare git@git.xxx.com:groupA/old_project.git

第二步:进入目录

➜  ~ cd old_project.git
➜  old_project.git git:(master)

第三步:在groupB新建一个项目:new_project

git push --mirror git@git.xxx.com:groupB/new_project.git

基于此,项目完整的从groupA迁移到groupB了
第四步:删除老版本,重新克隆新版本就可以了

备注

--bare 创建的克隆版本库都不包含工作区,直接就是版本库的内容,这样的版本库称为裸版本库。
更多内容欢迎访问博客:http://www.zplxjj.com和个人公众号


stone想静静
45 声望7 粉丝

春暖花痴开 傻傻创未来