相关背景
最近遇到一个需求,需要把工蜂平台的一个代码仓库上传到 GitHub,如果一个一个手动上传,会有几个问题:
- 费时费力,需要手动上传多个分支
- 之前每次修改的记录无法保存
因此需要用一个便捷的方式,直接转移代码仓库
具体步骤
克隆现有代码仓库
首先,需要将现有代码仓库(我这里是工蜂平台的代码仓库)克隆到本地
git clone <repository-url>
这里 <repository-url> 是仓库的 URL,目前只需要下载默认分支,后面会对所有分支进行同步。
克隆之后,进入该仓库。
跟踪全部分支
运行下面的脚本,可以自动跟踪仓库中的所有分支。
for branch in `git branch -r | grep -v '\->'`; do
if [ "${branch}" != "origin/HEAD" ]; then
git branch --track "${branch#origin/}" "$branch"
fi
done
修改仓库URL
接下来需要在另一个平台上(我这里是 GitHub)新建一个空的仓库,获取新仓库的 URL,用下面的命令修改仓库的 URL:
git remote set-url origin <your-new-repository-url>
Push 代码
用下面这行命令,Push 全部代码:
git push --all origin
这样就完成了仓库转移,所有的 Branch,Commit 都会保留