【换源】git命令行迁移仓库

发布时间 2023-12-06 16:39:01作者: 快乐的提千万

直接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