[Git系列]将开源项目上传到内网

内部项目开发中引用了外部开源项目,需要保持对外部项目的追踪(bug的修复、功能的增加等)。但公司有严格的网络管控,不允许直连Internet。于是摸索出了下面的方法来手工同步网络被隔离的两套库。

1. 在外网下载所有分支

git clone url_to_the_public_repo
for branch in `git branch --all | grep remotes\/ | grep origin | grep -v HEAD | grep -v master` ; do
    git branch --track "${branch##remotes/origin/}" "$branch"
done

2. 拷贝到内网

3. 添加内网git服务器为远程库

git remote add gitlab url_to_the_private_repo

4. 上传所有分支到内网git服务器中

for branch in `git branch | tr -d ' *'` ; do git push gitlab ${branch} ; done

你可能感兴趣的:([Git系列]将开源项目上传到内网)