项目中一直在仓库A中开发,过程中遇到另一个项目组,需要依赖仓库A的代码,新起一个仓库B去开发。所以需要迁移仓库A到B,同时需要保留原始的每一次commit提交信息记录。这里记录下迁移的方法,以备复用:
- 在远程git web页面新建一个B仓库
- 本地git clone A仓库的代码至干净目录,进入A仓库根目录
- 如果A仓库依赖了其它sub module,执行git submodule update --init --recursive,拉取依赖的sub module
- 绑定远程仓库B
- 创建远程链接:git remoet add origin_B master
- 给远程链接设置url:git remote set-url origin_B B仓库的地址
- 推送B仓库的代码到远程:git push origin_B master:master
- 第一个master表示推送本地的master分支到远程
- 第二个master表示推送到远程仓库的master分支
这样一来,仓库B可以用git log命令看到完整详细的历史提交记录了,且和A仓库毫无关系了。