Git仓库迁移并重新clone代码

时间:2021-11-10 06:34:11


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>