菜鸟浅谈github使用方法--之基本概念理解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了菜鸟浅谈github使用方法--之基本概念理解相关的知识,希望对你有一定的参考价值。

1、何为github

  github是一款面向开源及私有软件的项目托管平台,简言之就是基于git的代码托管平台。分为私人仓库和公共仓库,当然私人是要收费的咯。。。对于刚入门的菜鸟,公共仓库足够拿来练手的了。其实对于github我的了解也不是很多,也是在学习中。仅仅只是一些皮毛,这个需要以后在工作中,用了之后才能更深入的了解。

2、Git与github、Git与svn

  git是一个版本控制工具

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

  对于他们俩的关系,有人用c语言和Microsoft Visual C++来形容,我觉得这个还是很形象的;对了还有人用「魔兽争霸」与「对战平台」的关系来形容,哈哈,对于这个关系,我还真是不知道怎么形容,毕竟作为一个妹子,我没有玩过这个。。。 

  通俗点来说,就是一个项目或者说工程有多个人一起干,这个项目里每个人都有可能都拿同一文件了来编辑,但是这就产生了问题,到底怎么协同项目里面的人的所编辑的文件,怎么更新项目呢?这时就有了像git(版本控制工具)这样的东西了来做这种事情,github就相当于项目放置的平台(不过它里面有很多的不同的开源项目(往往是很多人协同开发的)罢了, 借助git来管理,相对于git本地仓库来说,它是一个远程仓库)。---这个是我在知乎上看到的,看到大家赞的人还挺多的,应该靠谱
  (别嫌我啰嗦哈,哈哈,我也是为了让大家能更深入的对基本概念进行了解,这样也更有助于大家今后的进一步学习。。。) 

  Git与svn的区别  

  这里之所以将他们二者的区别主要是,我现在所在的公司用的就是svn,我也是很想知道二者的区别的:

  1)git是分布式的

  关于git分布式的进一步解释,我看了一些资料,觉得这位大神解释的还蛮到位的:

技术分享

技术分享

  2)git把内容按元数据方式存储,而svn是按文件

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

(额。。。这个其实我也不是很理解,只知道大致的意思,大家有什么更通俗易懂的理解的话,欢迎指点一二。。。)

  3)git分支和svn分支不同

  分支在SVN中一点不特别,就是版本库中的另外的一个目录。如果你想知道是否合并了一个分支,你需要手工运行像这样的命令svn propget svn:mergeinfo,来确认代码是否被合并。然而,处理GIT的分支却是相当的简单和有趣。你可以从同一个工作目录下快速的在几个分支间切换。你很容易发现未被合并的分支,你能简单而快捷的合并这些文件。

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

  目前为止这是跟SVN相比GIT缺少的最大的一个特征。你也知道,SVN的版本号实际是任何一个相应时间的源代码快照。因为GIT和SVN从概念上就不同,我不知道GIT里是什么特征与之对应。

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

  GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

(本菜鸟认为后面几个区别大致了解即可,要是不理解的话,没关系的,以后会慢慢体会的哈哈哈哈。。。)

这个小节有点啰嗦哈,哈哈,只要大家看懂了就行,要是本菜鸟有什么不对的地方和不足的地方,欢迎大家及时提出来,我会感激不尽的哈。。。交流使人进步更快哟

 

以上是关于菜鸟浅谈github使用方法--之基本概念理解的主要内容,如果未能解决你的问题,请参考以下文章

浅谈协方差矩阵理解篇

浅谈数据挖掘的基本概念及其最常用算法

JAVA基础之(十四)--“多线程”

浅谈多线程

浅谈GIT之底层对象理解

浅谈期望——基本概念