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并不是目前第一个或唯一的分布式版本控制系统。还有一些系统,例如Bitkeeper, Mercurial等,也是运行在分布式模式上的。但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
相关推荐
现在使用git的比svn多了,但是git操作比svn复杂,上传git和svn的简单教程
2018svn,svn高级,git&github;系列视频教程,分享给大家,仅供学习
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。也是就是CVS的接班人!
Git&GitHUP; 01.前面的话 02.为什么要使用版本控制 03.版本控制介绍 04.Git简史 05.Git优势 06.Git程序安装过程 07.Git结构 08.Git和代码托管中心 09.本地库和远程库的交互方式 10.本地库初始化 。。。
svn git 使用注意事项
这方面 SVN 采用的是增量式管理的方式,而 Git 采取了文 件系统快照的方式。 权限控制 对团队中参与开发的人员进行权限控制。 对团队外开发者贡献的代码进行审核——Git 独有。 历史记录 查看修改人...
详细描述如何配置git-svn、git、svn、github建立便利的开发环境。不要错过这套强大的配置库管理组合拳哦。
我是通过看廖雪峰的git教程...我这里记录git的学习笔记,方便随时参考,具体的git的原理、github的原理、集中式和分布式版本控制的区别、版本控制的概念和原理、Git和其他版本控制工具比如SVN的区别、以及更多的相关
关于在VCS中SVN和Git之间的迁移(Clone)这个部分网上已经有大批的文章介绍,而且都非常不错,...SVN迁移到Git,当然要清楚gitsvn命令了。首先请在github上面创建一个repository,这个简单,就不说了,然后就是使用强
版本控制常用工具:git和svn,git分布式版本控制(代码仓库:本地仓库和远程仓库),svn集中式版本控制(远程仓库)。 远程仓库:码云/GitHub创建的仓库; 本地仓库:自己电脑中的仓库; commit:提交代码到本地仓库;...
本压缩包为版本控制工具,包含有 Git 32位+64位 ,TortoiseSVN 32位+64位,用于开发过程中对项目的版本进行开分支、控制、合并等。具体安装又不懂的,可以看博主的博文。
git-info概要git-info-显示有关Git信息库的信息,如`svn info'如何设置只需将这些脚本放在PATH的目录之一中即可。如何使用git infogit info ~/src/somewhere/somefilegit info some/relative/file_or_directorygit ...
clone-from-svn-to-git.sh-使用此脚本将WordPress插件从SVN克隆到git / github deploy-plugin.sh-使用此脚本将WordPress插件更新从git / github推送到SVN readme-converter.sh-使用此脚本在Github markdown和...
4.3 思考:git config 命令的各参数有何区别/ 63 4.4 思考:是谁完成的提交/ 65 4.5 思考:随意设置提交者姓名,是否太不安全/ 67 4.6 思考:命令别名是干什么的/ 68 4.7 备份本章的工作成果/ 69 第5章 Git 暂存区/ ...
Learn Git and GitHub without any code! Using the Hello World guide, you’ll create a repository, start a branch, write comments, and open a pull request.
提交到GitHub并自动将其同步到SVN。 支持最新或特定提交的同步。 与Github组织合作。 在推送到SVN之前运行.paddle.sh(如果可以在git存储库中找到它),如果需要运行composer或删除文件等,将非常有用。 安装 ...
用SVN操作GitHub 6.2.2. 用Hg操作GitHub 6.1.1. 数据的粘贴和引用 6.1.2. Gist背后的Git库 6.1.3. Greasemonkey 6.1.4. 命令行操作Gist 6.1. GitHub:Gist 6.2. 其他版本控制工具支持 6.3. 客户端工具 6.4....
先上图(个人整理):讲概念(个人理解): SVN:全称Subversion,是一种集中式管理的版本控制工具,分为服务器...Git:是一种分布式管理的版本控制工具,分为远程版本库(如Github)和本地版本库(.git节点),
简单说来,git就是Github开发的VCS(Version Control System),即版本控制系统。如果你使用过SVN,那么你应该很清楚版本控制是什么。 本文的示例环境是Ubuntu 16.04 LTS,Windows的朋友可以在Git bash下进行操作。 ...