1、从原地址克隆一份裸版本库,比如原本托管于github或oschina,或者是本地的私有仓库
$ git clone --bare https://git.oschina.net/xxx/talkback-land1.git
2、 到新的Git服务器上新建一个裸仓库
$ cd /leelen/talkback_git/
$ git init --bare new_talkback.git
3、以镜像推送的方式上传代码到新服务器上
$ cd talkback-land1.git
$ git push --mirror ted@172.168.4.17:/leelen/talkback_git/new_talkback.git
到此git仓库迁移完成
4、到新服务器上clone代码到本地
$ git clone ted@172.168.4.17:/leelen/talkback_git/new_talkback.git
说明:git clone默认会把远程仓库整个给clone下来,但只会在本地默认创建一个master分支。如果远程还有其他的分支,此时用git branch -a查看所有分支,可以使用checkout命令来把远程分支取到本地,并自动建立tracking
$ git checkout -b talkback_7inch origin/talkback_7inch
或者使用-t参数,它默认会在本地建立一个和远程分支名字一样的分支
$ git checkout -t origin/talkback_7inch
Git各种命令说明可参考:
https://www.kernel.org/pub/software/scm/git/docs/
git checkout -b <branch> --track <remote>/<branch>