GIT教程一:GIT和GIThub的概念和区别

目录

 

前言:

一:版本控制历程

1:本地版本控制系统

集中化的版本控制系统

分布式版本控制系统

二:GIT的概念:

三:GitHub的概念

四:Git和GITHub的区别 

ps:关于gitHub好玩的仓库

Dress - 女装大佬聚集地

Thanos - 灭霸命令

nocode - 一行代码都没有

programmer-job-blacklist 码农找工作黑名单

hangzhou_house_knowledge 杭州买房攻略

howmanypeoplearearound 通过 Wi-Fi 信号估计附近有多少人


前言:

在介绍git和github之前必须是要先介绍一下何为版本控制,因为git和github就是来让我们更加容易的使用版本控制

我们知道,如果多台计算机在同一个局域网中,是可以进行局域网文件共享的。共享者可以通过设置把自己文件共享给他人进行阅读和修改。

对于同一份共享文件,如果又多个人需要修改的话会发生什么事情呢?比如当你在公司内和同事合作开发项目,你们同事修改了项目文件,那要想合并怎么办,用优盘把自己更改的东西拷贝进去,然后交给你的同事。你同事修改完后再把优盘给你?否则一个不小心就会覆盖别人的代码。

为了解决以上的问题,最好的方法就会使用版本控制。

如果使用了版本控制系统,每一个团队成员都可以在任何时间对任何文件毫无顾虑的进行修改,版本控制系统可以提醒我们文件修改冲突,甚至可以帮我们自动把多个人的改动合并到一起。

有了版本控制,我们还可以回溯查看以前某一个版本中具体文件的内容,还可以查看某一次改动的变更内容。非常适合团队协作。

一:版本控制历程

1:本地版本控制系统

在最开始的时候人们就会通过大量的文件命名来版本控制,如:

但是这样的只能供单人使用,还是没能解决团队协作的问题,

为了解决这个问题,集中化的版本控制系统(Centralized Version Control Systems,简称 CVCS)应运而生

这类系统,诸如 CVS、Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。 多年以来,这已成为版本控制系统的标准做法。

集中化的版本控制系统

 

接下来人们又遇到一个问题,如何让在不同系统上的开发者协同工作?于是,集中化的版本控制系统应运而生。

这类系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

事分两面,有好有坏。 这么做最显而易见的缺点是中央服务器的单点故障。 如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。 如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,毫无疑问你将丢失所有数据——包括项目的整个变更历史,只剩下人们在各自机器上保留的单独快照。 本地版本控制系统也存在类似问题,只要整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险。

分布式版本控制系统

      于是分布式版本控制系统(Distributed Version Control System,简称 DVCS)面世了。 在这类系统中,像 Git、Mercurial、Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。

åå¸å¼çæ¬æ§å¶å¾è§£

 

说完了版本控制,该来说一下git了

 

二:GIT的概念:

Git(读音为/gɪt/。),是目前世界上最先进的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds(linux之父)为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些错误的更改,可以进行还原。现在很多其他自由软件项目中也使用了 Git,例如 很多 Freedesktop 的项目迁移到了 Git 上。
 

git其实就是一款我们前面介绍的分布式版本控制软件,Git具有以下特点:

  • 直接记录快照,而非差异比较
  • 近乎所有操作都是本地执行
  • 时刻保持数据完整性
  • 多数操作仅添加数据

程序员是比较典型的需要团队协作的职业,大多数情况下,都是需要多个程序员同时开发同一个项目的,就好像多个程序员要同时修改一份word文档一样。所以,Git是很多程序员的必备工具。

三:GitHub的概念

(具体GitHub的使用我会放在其他的章节。)

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。

它是一个非常适合程序员交流的网站,很多国际上的技术大牛都在github上有自己的开源代码,其他人只要申请个账号就可以随意的看到这些大牛写的程序。同时国内的很多互联网公司如百度,阿里等,也在github上公布有开源的代码。

所谓托管平台,也就是说他可以用于存放文件。只不过上面的文件都是可以公开被访问到的。

GitHub是通过Git进行版本控制的软件源代码托管服务,并且,GitHub还引入了一些社交属性。号称是世界上最大的程序员(同性)交友网站。

四:Git和GITHub的区别 

总的一句话来说就是,git是我们开发过程中使用的提交代码的工具,可以和各种开发工具做集成。是一个软件。

GItHub是我们全球公用的git代码远程仓库。是一个仓库。

ps:关于gitHub好玩的仓库

从网上搜集的关于gitHub的比较有意思的仓库,可以在工作时间娱乐一下。

Dress - 女装大佬聚集地

有129名贡献者在这个名为Dress的项目里集结,上传了数千张女装照,收获了8000余颗星。

地址:https://github.com/komeiji-satori/Dress

Thanos - 灭霸命令

Thanos.sh是一个开源的个灭霸命令,可随机删除电脑上一半文件。

地址:https://github.com/hotvulcan/Thanos.sh

nocode - 一行代码都没有

这是一个Issue比项目更精彩的项目,项目中一行代码都没有,Issue中各种装逼。

地址:https://github.com/kelseyhightower/nocode 

programmer-job-blacklist 码农找工作黑名单

地址:https://github.com/shengxinjing/programmer-job-blacklist

hangzhou_house_knowledge 杭州买房攻略

地址:https://github.com/houshanren/hangzhou_house_knowledge

howmanypeoplearearound 通过 Wi-Fi 信号估计附近有多少人

地址:https://github.com/schollz/howmanypeoplearearound

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苍煜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值