git从其他git服务器完整迁移到自建git服务器

高新技术

2017-06-08

135

0

目录


1). 从原地址克隆一份裸版本库,原本托管于oschina。

git clone --bare git://github.com/username/project.git

--bare 创建的克隆版本库都不包含工作区,直接就是版本库的内容,这样的版本库称为裸版本库。

2). 然后到新的 Git 服务器上创建一个新项目,比如commons。

mkdir commons.git
cd commons.git
git init --bare

上边的命令表示创建名为commons的版本库,并初始化为空版本库(注意--bare参数)。

3). 以镜像推送的方式上传代码到新的git服务器上。

git push --mirror git@<你的serverIp>:commons.git

-- mirror 克隆出来的裸版本对上游版本库进行了注册,这样可以在裸版本库中使用git fetch命令和上游版本库进行持续同步。

例如:

$ git push --mirror git@192.168.0.106:/data/code/commons.git
Counting objects: 100, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (54/54), done.
Writing objects: 100% (100/100), 44.88 KiB | 0 bytes/s, done.
Total 100 (delta 13), reused 100 (delta 13)
To 192.168.0.106:/data/code/commons.git
 * [new branch]      master -> master

4). 删除本地代码

cd ..
rm -rf project.git

5). 到新服务器commons上找到 Clone 地址,直接 Clone 到本地就可以了。

git clone git@:comons.git

这种方式可以保留原版本库中的所有内容。


前一篇:Elasticsearch错误信息:Fielddata is disabled on text fields by default
后一篇:Elasticsearch搜索服务学习之八——基本概念和术语

belonk

轻轻地我走了,正如我轻轻地来,我挥一挥衣袖,不带走一片云彩