将项目同时托管到Github和Git@OSC

原创
2015/04/21 16:18
阅读数 1.6W

GIT@OSC是国内最大的git代码托管平台,支持免费私有库,支持SVN操作,用户众多。 很多开发者希望在不同的代码托管平台都有托管一份,这个对于git来说并不是一件麻烦的事情,而GIT@OSC也支持从Github导入项目。

将代码转移到GIT@OSC

这里不限于Github,也可以是Sourceforge以及bitbucket,code.taobao.org,任何基于git或者是subversion的都可以

GIT仓库

首先我们需要在GIT@OSC上创建一个空项目。使用git的–bare参数获取一个裸仓库,然后通过git push --mirror命令将代码推送到GIT@OSC。

git clone --bare https://github.com/forcegroup/iBurnMgr.git ibg.git
cd ibg.git
git push --mirror https://git.oschina.net/ipvb/iBurnMgr.git

Subversion仓库

 git svn clone http://myhost/repo -T trunk -b branches -t tags 
 #将svn仓库转为git仓库
 git remote add oscgit https://git.oschina.net/user/repo #添加remote,这个需要在页面上建立
 git push -u oscgit --all
 #推送到GIT@OSC

Hg仓库

hg仓库并没官方的转换支持,Github上有个hg-git: http://hg-git.github.com/ 可以使用hg来管理git仓库,一般的将hg仓库转换为git仓库的是 Fast-export 需要安装hg,在Windows上推荐使用cygwin或者msys2

  mkdir repo-git # or whatever
  cd repo-git
  git init
  hg-fast-export.sh -r <repo>

给本地仓库添加第二个远程地址

用户可能在本地已经有了一个仓库,或者托管在Github或者托管在Bitbucket以及其他的代码托管平台,如果想在GIT@OSC上也放一份代码,可以给仓库添加一个远程地址,使之能够推送到GIT@OSC。 
第一,你先得在GIT@OSC上创建一个空仓库,也就是创建项目的时候不要初始化。然后按照下面的命令就行了,比如我创建了一个helloworld的项目。

git remote -v 
#查看远程地址
git remote add osc  https://git.oschina.net/ipvb/iBurnMgr.git
#添加新的远程地址
git push -u osc --all#推送所有的本地分支git push osc --tags#推送所有的标签

每一次修改后,你都可以使用push命令将最新的修改提交到GIT@OSC上。

在网页上同步

在git.oschina.net上,用户如果已经登陆,可以创建项目,右上角有个“+”,点击后可以使用从github导入,出现如下图的表格,点击希望导入的项目即可,这里需要说明的是,只有用户参与的项目才会显示。 
import github

点击导入项目之后就是漫长的等待了,毕竟众所周知的原因,这个过程不会很快,当然还是建议用户将代码早日迁移到GIT@OSC上来。 
run-process

我们的开发者为用户提供了强制更新的功能,如果用户的项目是从Github导入的,在项目名右边会有个Github logo,以及一个同步按钮

ForceUpdate 
点击后请仔细阅读提示,因为强制同步会覆盖仓库。

Update

如果你不愿意覆盖仓库,建议在本地将代码拉下来,合并后再推送到GIT@OSC。


展开阅读全文
打赏
20
211 收藏
分享
加载中
mark
2015/09/04 21:15
回复
举报
mark,英文太渣,osc用惯了,github没怎么接触的路过。我也去玩玩githun试试。
2015/06/19 15:48
回复
举报

引用来自“happut”的评论

那pull代码的时候 是从git@osc 还是从github取啊

引用来自“Force武装卫队”的评论

github做个镜像就行了,代码主要放在GIT@OSC上,定期推送到Github就行

引用来自“yifneg”的评论

5喽 问下 怎么做镜像
也就是代码也放github一份
2015/05/07 18:17
回复
举报

引用来自“happut”的评论

那pull代码的时候 是从git@osc 还是从github取啊

引用来自“Force武装卫队”的评论

github做个镜像就行了,代码主要放在GIT@OSC上,定期推送到Github就行
5喽 问下 怎么做镜像
2015/05/07 18:01
回复
举报

引用来自“happut”的评论

那pull代码的时候 是从git@osc 还是从github取啊
看你的设置了
2015/05/07 18:00
回复
举报
30我也开始使用OSC了 支持国内的开源事业
2015/05/05 15:38
回复
举报

引用来自“花和尚鲁智深”的评论

好文,我终于学会了包括git clone url在内的第二条git命令

81
2015/04/30 17:15
回复
举报
好文,我终于学会了包括git clone url在内的第二条git命令
2015/04/30 17:03
回复
举报

引用来自“冰雪情缘l”的评论

GIT@OSC是国内最大的git代码托管平台,支持免费私有库,支持SVN操作,用户众多。!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

引用来自“Force武装卫队”的评论

引用来自“大舒”的评论

能把这篇文章翻译成英语么。。保留作者名称,cc-sa方式共享。
非常支持。
2015/04/30 11:10
回复
举报

引用来自“冰雪情缘l”的评论

GIT@OSC是国内最大的git代码托管平台,支持免费私有库,支持SVN操作,用户众多。!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

引用来自“Force武装卫队”的评论

引用来自“大舒”的评论

能把这篇文章翻译成英语么。。保留作者名称,cc-sa方式共享。
当然可以
2015/04/30 10:55
回复
举报
更多评论
打赏
40 评论
211 收藏
20
分享
返回顶部
顶部