Git仓库转移

假定本地git目录是 /volume1/git

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 在/volume1/git下克隆原git
root@DS3617xs:/volume1/git$ git clone --bare http://abc.domain.com/old.git

# 输入用户名输入密码等待clone完成
Cloning into bare repository 'wears.git'...
git: 'credential-osxkeychain' is not a git command. See 'git --help'.
Username for 'http://abc.domain.com': root
Password for 'http://root@abc.domain.com':
git: 'credential-osxkeychain' is not a git command. See 'git --help'.
remote: Counting objects: 4171, done.
remote: Compressing objects: 100% (3633/3633), done.
remote: Total 4171 (delta 865), reused 3339 (delta 408)
Receiving objects: 100% (4171/4171), 36.92 MiB | 3.50 MiB/s, done.
Resolving deltas: 100% (865/865), done.
# clone完成,得到目录/volume1/git/old.git
1
2
3
4
5
6
# 在/volume1/git 目录下新建一个新git
root@DS3617xs:/volume1/git$ mkdir new.git
# 初始化这个git
root@DS3617xs:/volume1/git$ cd new.git/
root@DS3617xs:/volume1/git/new.git$ git init --bare
Initialized empty Git repository in /volume1/git/new.git/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 进入/volume1/git/old.git
#并镜像推送到新的new.git
root@DS3617xs:/volume1/git/old.git$ git push --mirror ssh://git@abc.domain.com/volume1/git/new.git
# 输入用户名密码,等待完成
root@abc.domain.com password:
Enumerating objects: 4171, done.
Counting objects: 100% (4171/4171), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3176/3176), done.
Writing objects: 100% (4171/4171), 36.92 MiB | 8.53 MiB/s, done.
Total 4171 (delta 865), reused 4171 (delta 865)
remote: Resolving deltas: 100% (865/865), done.
To ssh://abc.domain.com/volume1/git/new.git
* [new branch] master -> master

完成,现在可以用git客户端克隆检出啦

1
git clone --bare ssh://git@abc.domain.com/volume1/git/new.git