git仓库迁移
最近又要把公司Stash
上的项目在别部门一个私有仓库,平移到自己部门项目组的仓库,要求迁移的时候要保留已有的分支和以前的提交记录,类似的需求经常遇到,刚好做个记录。
1). 从原地址克隆一份裸版本库(纯仓库形式),比如原本托管于 GitHub。
|
|
–bare 创建的克隆版本库都不包含工作区,直接就是版本库的内容,这样的版本库称为裸版本库。
2). 然后到新的 Git 服务器上创建一个新项目,比如 GitCafe。
3). 以镜像推送的方式上传代码到 GitCafe 服务器上。
|
|
– mirror 克隆出来的裸版本对上游版本库进行了注册,这样可以在裸版本库中使用git fetch命令和上游版本库进行持续同步。
4). 到新服务器 Stash 上找到 Clone 地址,直接 Clone 到本地就可以了。
|
|
通过这样的Git仓库迁移可以保留原版本库中的所有内容(tag
,branch
等记录)。