git与svn与github与码云的区别

1.git与github(https://www.oschina.net/)的区别

Git(https://git-scm.com/)是一个版本控制工具

github是一个用git做版本控制的项目托管平台。

2.码云(http://git.oschina.net/)简介

码云是开源中国社区2013年推出的基于 Git 的完全免费的代码托管服务,这个服务是基于 Gitlab 开源软件所开发的,我们在 Gitlab 的基础上做了大量的改进和定制开发,目前已经成为国内最大的代码托管系统,致力于为国内开发者提供优质稳定的托管服务。

码云主要功能

码云除了提供最基础的 Git 代码托管之外,还提供代码在线查看、历史版本查看、Fork、Pull Request、打包下载任意版本、Issue、Wiki 、保护分支、代码质量检测、PaaS 项目演示等方便管理、开发、协作、共享的功能。

3.码云与 github 的对比

优点:服务器在国内,在国内访问速度比github快很多,可以免费让自己的仓库他人不可见,但是否安全就不知道了。访问速度很快,支持svn,git两种方式,免费账户同样可以建立 私有项目,而 github 上要建立私有项目必须 付费。

缺点:每个仓库有1G的容量限制,把Unity工程弄上去一下就超了。

4.git和svn的区别

GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征。所以,这篇文章的主要目的就是通过介绍GIT能做什么、它和SVN在深层次上究竟有什么不同来帮助你认识它。

1.GIT是分布式的,SVN不是:

这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。如果你能理解这个概念,那么你就已经上手一半了。需要做一点声明,GIT并不是目前第一个或唯一的分布式版本控制系统。还有一些系统,例如BitkeeperMercurial等,也是运行在分布式模式上的。但GIT在这方面做的更好,而且有更多强大的功能特征。

GIT跟SVN一样有自己的集中式版本库或服务器。但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。可以这样说,如果你被困在一个不能连接网络的地方时,就像在飞机上,地下室,电梯里等,你仍然能够提交文件,查看历史版本记录,创建项目分支,等。对一些人来说,这好像没多大用处,但当你突然遇到没有网络的环境时,这个将解决你的大麻烦。

同样,这种分布式的操作模式对于开源软件社区的开发来说也是个巨大的恩赐,你不必再像以前那样做出补丁包,通过email方式发送出去,你只需要创建一个分支,向项目团队发送一个推请求。这能让你的代码保持最新,而且不会在传输过程中丢失。GitHub.com就是一个这样的优秀案例。

有些谣言传出来说subversion将来的版本也会基于分布式模式。但至少目前还看不出来。

2.GIT把内容按元数据方式存储,而SVN是按文件:

所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。

3.GIT分支和SVN的分支不同:

分支在SVN中一点不特别,就是版本库中的另外的一个目录。如果你想知道是否合并了一个分支,你需要手工运行像这样的命令svn propget svn:mergeinfo,来确认代码是否被合并。感谢Ben同学指出这个特征。所以,经常会发生有些分支被遗漏的情况。

然而,处理GIT的分支却是相当的简单和有趣。你可以从同一个工作目录下快速的在几个分支间切换。你很容易发现未被合并的分支,你能简单而快捷的合并这些文件。

4.GIT没有一个全局的版本号,而SVN有:

目前为止这是跟SVN相比GIT缺少的最大的一个特征。你也知道,SVN的版本号实际是任何一个相应时间的源代码快照。我认为它是从CVS进化到SVN的最大的一个突破。因为GIT和SVN从概念上就不同,我不知道GIT里是什么特征与之对应。如果你有任何的线索,请在评论里奉献出来与大家共享。

更新:有些读者指出,我们可以使用GIT的SHA-1来唯一的标识一个代码快照。这个并不能完全的代替SVN里容易阅读的数字版本号。但,用途应该是相同的。

5.GIT的内容完整性要优于SVN:

GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。这里有一个很好的关于GIT内容完整性的讨论 –http://stackoverflow.com/questions/964331/git-file-integrity

时间: 2024-10-14 15:43:47

git与svn与github与码云的区别的相关文章

Git同步更新操作GitHub和码云仓库上面的代码

一.前言 问题: 小编在生活中,一般都是将代码保存到github上,但由于国内的码云仓库确实速度比github快很多,用起来也很方便,于是后来就慢慢转码云了,当然小编在github上的代码也不想放弃更新,于是有没有方法可以让我们可以同步更新这两个git远程仓库呢?? 答案: 办法肯定是有的,下面我们就来实际进行操作一下吧 ~ 二.同步更新操作GitHub和码云仓库代码 即提交代码时,github仓库和码云仓库上的代码都同步更新提交上去了,而不需要分开去进行两次提交 ~ (1)将github和码云

初识git命令,简单github,码云,本地仓库搭建

# 说说我理解的github,码云,git命令 1.简介(初学者) 今天了解到git命令,于是就开始了一番折腾,git命令是做什么用的呢?百度百科:Git(读音为/g?t/.)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理.说的很对,但是不太容易理解,我之前也有过想了解git这个强大“武器”的想法,但是每次都卡在这里.今天学习时看到一个git的使用教程,于是便自身摸索了一遍,实践了一下下现在写点总结. 初识git的我,把git简单看做可以向远端服务器发送文件的命

git之sourceTree使用github和码云的代码小结

16.使用git出现的错误记录  15. Permission denied (publickey)错误: git远程库与本地库同步 git设置ssh公钥 Bad escape character 'ygen' 14.sourceTree克隆github代码或者码云代码报错现象? 13.生成并部署SSH key? 12.windows下生成ssh? 11.windows下生成github ssh key详解?  ========  16.使用git出现的错误记录  1 .创建ssh key时遇到

idea使用git管理代码,代码上传至github或者码云

1:下载git地址:  https://git-scm.com/download/win 2:启动Git Bash输入如下命令(绿色标注的:为分隔号,不是相关命令): git :查看是否安装成功 ssh-keygen -t rsa -C "你的邮箱地址" :配置ssh秘钥,执行中第一步是让你确认是否生在该路径下生成秘钥,也可以自己写一个新的路径,值班直接回车就好,然后再输入两次密码 git config --global user.name  "你的用户名":配置全

GitHub Desktop+码云(GIT.oschina)使用方法

GitHub时不时被墙,虽说搞代码的FQ是必备技能,但总是不太方便.于是悦老大就选择了用国内的码云(开源中国的GIT工具).GitHub其实是有个桌面版的软件的,自从用上了它基本告别了命令行敲git命令的时代.接下来就来说说GitHub Desktop与开源中国的GIT码云是怎么搭配的吧. 一.如何从码云GIT导入到GitHubDeskTop桌面工具. 1.先用命令行切换到本地的目录. 2.使用git clone 码云GIT地址 命令将项目克隆到本地. 3.在GitHub Desktop上添加(

使用Git上传本地项目到GitHub/Coding/码云

Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 本文以利用Git上传本地项目到GitHub为例,为那些刚刚接触Git的新手提供使用Git上传本地项目到GitHub/Coding/码云的方法. 注册GitHub账号并安装Git 首先注册GitHub账号,并添加新项目. 下载并安装Git,安装路径可以自己修改,安装过程中的一些设置选择默认即可. 利用Git上传本地项目到GitHub 在本地项目文件夹中空白处右键单击选择"Git Bash Here"

如何将nuxt项目部署到github pages (码云 pages) 上

如何将nuxt项目部署到github pages (码云 pages) 上 前言:此文章包括了以下几点: 1:如何部署2:部署到Page后,静态资源加载报4043:从默认页面跳转到其他页面报4044:github Pages上的页面打开特别慢. 一:使用Nuxt.js脚手架工具create-nuxt-app快速创建项目 1:确保安装了npx(npx在NPM版本5.2.0默认安装了): npx create-nuxt-app <项目名> 后续选项可以自己跟实际情况选择. 二:在github上新建

Android Github和码云等托管平台的凭据,以及添加修改账号密码

Github和码云等托管平台的凭据 开始菜单 -> 控制面板 -> 用户账户和家庭安全 -> 凭据管理器 -> 如下图,可编辑可添加 ps:如果你修改了某个代码托管平台的密码,那么android studio 就不能拉取和上传代码了.需要重新验证,也就是修改凭据 GitHub打不开怎么办? //找到host文件夹(C:\Windows\System32\drivers\etc),用记事本打开,添加下面的地址: 192.30.253.112 github.com 192.30.253

API Studio 5.1.2 版本更新:加入全局搜索、支持批量测试API测试用例、读取代码注解生成文档支持Github与码云等

最近在EOLINKER的开发任务繁重,许久在博客园没有更新产品动态了,经过这些日子,EOLINKER又有了长足的进步,增加了更多易用的功能,比如加入全局搜索.支持批量测试API测试用例.读取代码注解生成文档支持Github与码云等.接下来我们来看看刚刚更新API Studio 5.1.2 版本有什么内容吧!开发不易,熬夜熬得我头发都掉得更快了! 1.读取代码注解生成文档新增对Github.码云的支持 支持通过Github.Gitlab.码云等代码仓库来读取代码的注解并自动生成API文档,支持Ja