郑州-第三十九期SVN和Git有什么区别?Git和github有什么关系?如何用webstorm将代码上传至github?

Posted 葡萄藤IT技能树

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了郑州-第三十九期SVN和Git有什么区别?Git和github有什么关系?如何用webstorm将代码上传至github?相关的知识,希望对你有一定的参考价值。


1.背景介绍

 在2002年以前,世界各地的志愿者把源代码文件发给Linus,然后由Linus本人通过手工方式合并代码。一直到2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用bitkeeper。

但是好景不长,在2005年的时候,linux社区开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公之后Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!

2.知识剖析

1,什么是SVN?

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

2,Git是一款免费、开源的分布式版本控制系统。Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git是Linus为了帮助管理内核开发而开发的一个开放源码的版本控制软件。

3,SVN和Git的区别?

1)GIT是分布式的,SVN不是

这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别

简单的说,分布式的版本控制就是每个人都可以创建一个独立的代码仓库用于管理,各种版本控制的操作都可以在本地完成。每个人修改的代码都可以推送合并到另外一个代码仓

2)Git把内容按源数据方式存储,而SVN是按文件.因为.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,.git目录的体积大小跟.svn比较,你会发现它们差距很大。

3)

所有保存在Git 数据库中的数据都是用此40位的哈希值作索引的,而不是靠文件名。使用哈希值作版本号有两个特点: 

 1,不重复性:每个人每次提交后形成的版本号都不会出现重复。

 2,完整性:因为哈希值是根据内容或目录结构计算出来的,所以我们还可以据此来判断数据内容是否被篡改

4)SVN刚开始用时很狗血的一点,SVN必须先Update(合并)才能Commit(提交),忘记了合并时就会出现一些错误,git还是比较少的出现这种情况。

5)在SVN,当你提交你的完成品时,它将直接记录到中央版本库。当你发现你的完成品存在严重问题时,你已经无法阻止事情的发生了。而Git的提交完全属於本地版本库的活动。而你只需“推”(git push)到主要版本库即可。Git的“推”其实是在执行“同步”(Sync)

3,Git和github的关系:

Git是一把枪,github是靶子,你的源代码就是子弹。

通俗点来说,就是多个人编辑同一个文件,通过Git实现所有人所编辑文件的更新,github就相当于文件放置的平台。相对于Git本地仓库来说,github是一个远程仓库。


3.常见问题

1,如何用webstorm将代码上传至github?

见视频(操作示范)

2,Git下载之后如何运用?

4.解决方案

2,Git下载之后如何运用?

1)下载安装git:
2)在本地准备好你的项目

3)登录你的github,然后创建一个New repository,起个名称dome(名称随你开心的改),勾选 initialize this repository with a README,如下图,然后点击create repository。

4)在电脑上选择一个盘,比如E 盘,在空白处鼠标右键,点击 Git Bash。
输入如下命令,用来在 E盘创建 dome 文件放你的github上的dome repository,克隆dome repository到dome文件中。

然后到E盘,会发现dome文件里多了个dome文件

5)然后把自己的项目文件粘贴至E 盘的 dome 文件中,命令进入E 盘的 dome的dome目录下,输入git add 

6)输入git commit -m "add" 提交到本地的版本控制库里,引号里面是你对本次提交的说明信息。

7)最后输入git push -u origin master 将你本地的仓库提交到你的github,最后会让输入你的github的账号和密码,输入回车之后再去看github项目,就看到你本地项目出现在github上了!


5.编码实战

见视频(操作示范)

6.扩展思考

1,既然github能上传源码,那么能不能在github上以网页的形式展示呢?

见视频(操作示范)

7.参考文献 

参考文献一:Git的使用:http://www.cnblogs.com/babywin/p/6073124.html

参考文献二:SVN和Git的区别:http://blog.jobbole.com/31444/

8.更多讨论

1,有没有其他的托管平台呢?

PPT链接:https://ptteng.github.io/PPT/PPT/CSS-02-github.html


以上是关于郑州-第三十九期SVN和Git有什么区别?Git和github有什么关系?如何用webstorm将代码上传至github?的主要内容,如果未能解决你的问题,请参考以下文章

郑州-第六十九期深入理解css盒模型

git 和svn有什么区别?怎么体现git是分布式的呢?

Git和SVN之间的区别

GIT和SVN之间的五个基本区别

Git 和 SVN 之间的五个基本区别

svn和git的区别,为什么使用git?