coding.net 团队之间的代码仓库迁移
coding.net 原本可以轻松的在用户之间进行项目转让,但是现在 coding.net 大改了账户体系,限制了不同团队(域名)之间的项目转让。
具体迁移操作如下:
- 需要在新团队那边创建一个空的代码仓库,例如
https://e.coding.net/NEW_USER_NAME/NEW_PROJECT.git
- 在电脑上先
git clone OLD_USER_NAME/OLD_PROJECT
需要迁移的代码仓库 - 执行如下脚本,将代码仓库
OLD_USER_NAME/OLD_PROJECT
的所有分支、tag 迁移到NEW_USER_NAME/NEW_PROJECT
git remote set-url origin https://e.coding.net/OLD_USER_NAME/OLD_PROJECT.git && \
git fetch --all && \
for b in `git branch -r | grep -v -- '->' | grep -v -- 'master'`; do git branch --track ${
b##origin/} $b; done && \
git pull --all && \
git remote set-url origin https://e.coding.net/NEW_USER_NAME/NEW_PROJECT.git && \
git push --all origin && \
git push --tags origin
特别注意: 上诉脚本仅支持 git 协议。
例如:使用了 coding.net 的网盘,需要自己手动下载文件后,再上传到新代码仓库的网盘。