如何导入外部Git仓库到中国源代码托管平台(Git@OSC)
git clone --bare http://git.rcrtm.com/git/dianli.git
git clone --mirror https://git.oschina.net/candoo/dianli.git
git push --mirror https://git.oschina.net/candoo/CanDoo.HuanTian.Mui.git
用法1:Git clone <repository> <directory>
将<repository>指向的版本库创建一个克隆到<directory>目录。目录<directory>相当于克隆版本库的工作区,文件都会检出,版本库位于工作区的.git目录中
用法2:git clone --bare <repository> <directory.git>
用法3:git clone --mirror <repository> <directory.git>
用法2和用法3创建的克隆版本库都不包含工作区,直接就是版本库的内容,这样的版本库称为裸版本库。一般约定俗成裸版本库的目录名以.git做后缀,所以上面示例中将克隆出来的裸版本库目录名写作<directory.git>。区别在于用法3克隆出来的裸版本对上游版本库进行了注册,这样可以在裸版本库中使用git fetch命令和上游版本库进行持续同步。
不使用--bare或--mirror创建出来的克隆包含工作区,这样就会产生两个包含工作区的版本库,这两个版本库对等。这两个工作区本质上没有区别,往往提交在一个版本A中进行,另一个B作为备份。只能从B执行git pull命令从A中拉回新的提交实现版本库同步,而不能从版本库A向版本库B执行git push推送操作
还可以通过git init的方式创建裸版本库,需要加--bare参数。
当执行git push命令时,如果没有设定推送的分支,而且当前分支也没有注册到远程的某个分支,将检查远程分支是否有和本地相同的分支名(如master),如果有,则推送,否则报错。
针对最近有很多网友提问,如何导入外部代码仓库(Github、bitbucket、Google Code等等)到Git@OSC,给出如下解决方案:
方案1:
- 从原始地址clone一份bare仓库
git clone --bare https://github.com/bartaz/impress.js.git (例子)
- 在Git@OSC上创建一个项目(http://git.oschina.net/projects/new),这里注意,不要勾选使用Readme初始化项目,不要选择项目的授权协议和.gitignore 文件,因为这些会导致项目有第一个提交。
- 记下新建项目后的地址,推荐使用http或者ssh方式皆可,大项目推荐ssh方式。
cd impress.js.git
git push --mirror git@git.oschina.net:username/impress-js.git
- 此命令执行完成后即完成导入,删除 impress.js.git 文件夹即可。
方案2:
此方案,手头已经有了项目的完成仓库,则无需再从第三方代码托管平台上clone下来。
- 到Git@OSC上创建项目,同样不要选择以上所说的三项。
- 命令行进入项目目录,git status 确保项目状态为:
nothing to commit, working directory clean
如果状态不是这样,则需要通过提交、暂存等操作,使项目当前状态为clean。
- 添加Git@OSC的remote
git remote add git-osc git@git.oschina.net:username/translate4j.git
- 推送所有分支和tags
git push git-osc --all
git push git-osc --tags
- 以上两条命令执行完毕,即完成导入。
方案3:
此方案针对导入已有的SVN仓库
- 同上,先新建项目,不要选择以上所说的三项
- 使用git-svn工具clone svn仓库,git-svn 已经是Git的默认组建,如果你安装的是较新版本的Git客户端的话,则不需要再单独下载这个组件
git svn clone http://translate4j.googlecode.com/svn/trunk/ translate4j
- 同样,进入项目目录,添加remote
git remote add git-osc git@git.oschina.net:username/impress.js.git
- 同样,推送所有分支和标签
git push git-osc --all
git push git-osc --tags
- 以上两条命令执行完毕,即推送完成
有关Git的使用,可查阅 git reference手册、中文版ProGit。有关Git@OSC ,可查看 帮助、网友教程、FAQ。
如何导入外部Git仓库到中国源代码托管平台(Git@OSC)的更多相关文章
- 代码托管平台(Git)
1,可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS社区.GitHub真正 迷人的是它的创新能力与Geek精神,这些都是无法模 ...
- 国内代码托管平台(Git和SVN)
Github(Git和SVN)https://github.com/ 可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS ...
- 干货!Git 如何使用多个托管平台管理代码
考虑到github不能免费创建私有仓库原因,最近开始在使用码云托管项目,这样避免了连接数据库的用户密码等信息直接暴露在公共仓库中.今天突然想到一个点,就是能不能同时把代码推送到github和码云上呢? ...
- git几个必知托管平台
程序员必须知道的几个Git代码托管平台 说到Git代码托管平台,首先推荐的是GitHub,好多好的开源项目都来自GitHub,但是GitHub只能新建公开的Git仓库,私有 仓库要收费,如果你做的 ...
- 软件工程 Coding.net代码托管平台 Git初学者的使用总结 五步完成 程序,文件,文件夹的Git
一.前言 第一次用git相关的命令行,我使用的是Coding.net代码托管平台.Coding.net 自主打造的基于 Git 的代码托管平台,提供高性能的远端仓库,还有保护分支,历史版本分屏对比. ...
- Git系列①之仓库管理互联网托管平台github.com的使用
互联网项目托管平台github.com的使用 1.安装git客户端 # yum install -y git 配置git全局用户以及邮箱 [root@web01 ~]# git config --gl ...
- 国内代码托管平台(Git)
可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS社区.GitHub真正迷人的是它的创新能力与Geek精神,这些都是无法模仿的. ...
- 怎么用git将自己的源代码提交到git服务器上
在git服务器上新建仓库 在本地初始化本地仓库 初始化 git init 添加远程仓库地址 git remote add origin XXX.git 同步 git pull origin maste ...
- 如何将SVN仓库转换为Git仓库
按如下步骤操作就可以将SVN仓库完整的转换为Git仓库: 1) 将远程SVN仓库搬到本地(这一步主要是为了提高转换的速度,也可以忽略) 参考这篇文章: http://rongjih.blog. ...
随机推荐
- C++类静态数据成员与类静态成员函数
from:://http://blog.csdn.net/taina2008/article/details/1684834 把类中的函数都定义成静态函数,这样相当于在编译时就分配了空间,这样不需要实 ...
- Module ngx_http_v2_module
官方配置说明: http://nginx.org/en/docs/http/ngx_http_v2_module.html#example ngx_http_v2_module模块指令中文说明 ngx ...
- 同一个账号启动两个resin而要求使用不同jdk的解决方法
天,一个老同事问起这样一个问题,起因是他们的系统由于某些原因原有的部分模块不能运行在新的jdk下,所以需要启动两个resin并使用不同jdk.由 于是要开机自动启动,因此启动的账号还需要是同一个.这样 ...
- hex string 换转
hex2string std::stringstream R; R << std::hex << 0x1254; DWORD Str2Hex(string str){ retu ...
- Material Designer的低版本兼容实现(九)—— Float Button & Small Float Button
5.0一个新特性就是出现了这么一个圆形的悬浮指示按钮,这个按钮可以用来体现一个全局的重要功能,比如添加账户什么的.这个按钮有两种大小,一种是正常的按钮大小,一种是小型的按钮.官方文档中介绍的是小心的按 ...
- main函数的参数argc和argv
版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习,一起进步~ https://blog.csdn.net/Eastmount/article/details/20413773 该篇 ...
- [转]ThinkPHP中如何使用原生SQL
From : http://huangqiqing123.iteye.com/blog/1540323 TP的模型可以支持原生SQL操作,提供了query和execute两个方法,为什么原生SQL还要 ...
- Oracle比较2个表内容
Comparing the Contents of Two Tables A表和B表.拥有一致列,C2一列内容不同. I have two tables named A and B. They hav ...
- B样条
在数学的子学科数值分析里,B-样条是样条曲线一种特殊的表示形式.它是B-样条基曲线的线性组合.B-样条是贝兹(贝塞尔)曲线的一种一般化,可以进一步推广为非均匀有理B样条(NURBS),使得我们能给更多 ...
- Go语言之进阶篇爬捧腹网
1.爬捧腹网 网页规律: https://www.pengfu.com/xiaohua_1.html 下一页 +1 https://www.pengfu.com/xiaohua_2.html 主页 ...