【换源】git命令行迁移仓库
直接git clone的话,查看本地分支,会只有默认主分支,可能是master,也可以能是设置的。
查看所有分支
git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/branch1 remotes/origin/branch2
只有一个分支在本地
git pull
只会把主分支推送上去。(本地有的)
可以把所有分支都切下来,然后推送,但是很累。
步骤:
首先将项目的所有分支clone下来,并且变成本地分支。
mkdir some_repo
cd some_repo
git clone --bare https://xxx.git .git
git config --unset core.bare
git reset --hard
上面的意思是,首先随便建立一个文件夹some_repo,然后在里面只将xxx的.git文件夹拷贝下来!
此时,some_repo里面还是没有任何repo的文件,只有一个隐藏文件夹.git。然后解除core.bare模式,然后再恢复所有的repo文件。此时,所有的xxx的所有的分支都是本地分支了!
git remote rename origin old_origin
git remote add origin https://github.com/your_name/yyy.git
git push -u origin --all
git push -u origin --tags
第一条命令,因为当前的默认remote的origin是gitlab的那个xxx,那么肯定要放弃那个,直接随便改个名字就行,比如这里改成old_origin。
然后,再添加新的remote origin。
然后,我们将所有的branch推到github上去,这里是用--all,不是master。
最后一句话,是将tags也推上去。
关于远端仓库的命令:
切换源
git remote set-url origin URL
查看
git remote -v
删除
git remote rename
添加
git remote add
当你停下来休息的时候,不要忘记别人还在奔跑!