文档章节

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

Force武装卫队
 Force武装卫队
发布于 2015/04/21 16:18
字数 875
阅读 14385
收藏 210

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。


© 著作权归作者所有

共有 人打赏支持
Force武装卫队

Force武装卫队

粉丝 180
博文 38
码字总数 73999
作品 3
深圳
高级程序员
加载中

评论(40)

amgod
amgod
mark
hubert_Z1
hubert_Z1
mark,英文太渣,osc用惯了,github没怎么接触的路过。我也去玩玩githun试试。
Force武装卫队
Force武装卫队

引用来自“happut”的评论

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

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

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

引用来自“yifneg”的评论

5喽 问下 怎么做镜像
也就是代码也放github一份
y
yifneg

引用来自“happut”的评论

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

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

github做个镜像就行了,代码主要放在GIT@OSC上,定期推送到Github就行
5喽 问下 怎么做镜像
y
yifneg

引用来自“happut”的评论

那pull代码的时候 是从git@osc 还是从github取啊
看你的设置了
Fedo
Fedo
30我也开始使用OSC了 支持国内的开源事业
Force武装卫队
Force武装卫队

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

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

81
花和尚鲁智深
花和尚鲁智深
好文,我终于学会了包括git clone url在内的第二条git命令
Force武装卫队
Force武装卫队

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

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

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

引用来自“大舒”的评论

能把这篇文章翻译成英语么。。保留作者名称,cc-sa方式共享。
非常支持。
红薯
红薯

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

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

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

引用来自“大舒”的评论

能把这篇文章翻译成英语么。。保留作者名称,cc-sa方式共享。
当然可以
如何将 GitHub 项目导入码云?一步搞定!

码云(Gitee.com)是开源中国出品的 代码托管·协作开发 云平台,汇聚了国内众多优秀开源项目。历经 5 年打磨与沉淀,已有超过 200 万开发者选择码云,托管项目超过 300 万。我已经有了GitHu...

码云Gitee
06/05
0
0
开源项目中如何同时支持Git@OSC和Github

我的开源项目托管在Github,同时在Git@OSC也有备份,有两个地方,是不是很麻烦呢?非也非也,下面介绍一下我是怎么做的。 1、先在Github新建一个项目,点击Github主页右上角的加号 -> New R...

杨尚川
2015/05/17
0
6
开源中国码云 - Gitee

Gitee (中文名:码云 ,原名 Git@OSC )是开源中国社区推出的基于 Git 的代码托管服务。托管到 Gitee 的开源项目还可以参加中国源推广计划。Git@OSC 在 GitLab 开源软件基础上做了大量的定制...

Zoker
2013/11/11
0
69
码云之 Github 仓库导入支持 Wiki 同步导入功能

在码云上你可以方便的导入在其他代码托管平台上的 Git 仓库,详细的使用方法请看这里 。 现在我们又新增了在仓库导入的同时对仓库对应的 WIKI 进行同步的功能,该功能目前只支持 Github 仓库...

码云Gitee
06/22
0
0
将GIT仓库从Github导入到Git@OSC

看了@王振威的“如何导入外部Git仓库到中国源代码托管平台(Git@OSC)”一文,感觉操作比较麻烦。在此把自己平台导入Github的方法写下来,以供参考。 在这里以http://github.com/puras/moobo...

puras
2013/11/20
0
3

没有更多内容

加载失败,请刷新页面

加载更多

技术工坊|如何降低区块链应用的使用门槛(上海)

当区块链技术从专业研究走向市场应用,开发者需要考虑用户的使用场景和使用门槛,例如通过ETH支付gas手续费,或者注册一个16进制的用户名,普通用户都难以接受。 10月20日,HiBlock区块链社区...

HiBlock
27分钟前
1
0
Daemon线程--《Java并发编程的艺术》学习笔记

daemon线程即守护线程 当一个JVM中不存在非Daemon线程时,JVM将会退出 也就是说当非Daemon线程都执行完毕时,java程序也就结束了。 可以通过调用Thread.setDaemon(true)将线程设置为Daemon线...

karma123
33分钟前
0
0
scala类型参数的上界和下界

class Pair[T <: Comparable[T]](val first:T,val second:T) //类型T必须要是Comparable接口的子类(即T是Comparable的下界){ def bigger = if(first.compareTo(second) > 0) first e......

whoisliang
44分钟前
1
0
Vue中路由管理器Vue Router使用介绍(一)

一、在模块编程中安装VueRouter 1.Npm安装vue-router npm install vue-router 2.在main.js中引用并使用VueRouter import Vue from 'vue'import VueRouter from 'vue-router'Vue.use(Vu......

tianma3798
46分钟前
1
0
TypeScript基础入门之声明合并(一)

转发 TypeScript基础入门之声明合并(一) 声明合并 介绍 TypeScript中的一些独特概念描述了类型级别的JavaScript对象的形状。 TypeScript特别独特的一个例子是"声明合并"的概念。 在使用现有J...

durban
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部