前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >给女朋友讲清楚Git和GitHub的区别,这一篇就够了!

给女朋友讲清楚Git和GitHub的区别,这一篇就够了!

作者头像
用户6543014
发布2019-12-17 12:07:16
1.6K0
发布2019-12-17 12:07:16
举报
文章被收录于专栏:CU技术社区CU技术社区

写代码的小伙伴们一定遇到过诸如“ Git”和“ GitHub”之类的术语。在实际觉得过程中很有可能也会经常使用到它,Git或GitHub到底是什么,它们之间有什么区别。

给女盆友讲清楚就用这篇文章好了。

要了解Git和GitHub之间的确切区别,您首先需要了解有关版本控制的一些事情,那么,什么是版本控制?

版本控制:Git VS GitHub

版本控制是指记录一段时间内对一个文件或一组文件的更改的系统,称为“版本”。换句话说,这些版本将帮助您跟踪代码/项目中的更改,如果需要,还可以撤消这些更改。

当处理较大的项目时,这种能够比较、区分和还原特定项目的两个版本之间的更改的功能变得非常有用。较大的项目意味着更多的人使用相同的代码工作,这增加了冲突的机会。使用版本控制,您可以轻松防止这些冲突。

该控制代码版本控制的系统称为版本控制系统(VCS)。为了获得更好的画面,您可以将其视为数据库。在此数据库中,VCS会获取整个项目的快照并将其存储为版本。现在,借助这些快照,您可以轻松比较版本并根据需要在版本之间进行切换。查看下面的图片展示了整个过程:

我认为现在您已经清楚地了解了版本控制的概念。我想在这里提到的一件事是不要将VCS与备份/部署系统混淆。与备份系统不同,VCS完全不需要更改或更换工具链。下面,我列出了使用版本控制的一些优点:

  • 版本控制创建适当的工作流,以帮助人们防止在使用不同且不兼容的工具开发时产生混乱。
  • 每个版本都有对此版本所做的更改的描述。这些描述有助于按版本跟踪代码中的更改。VCS会同步版本,并确保您的更改不会与使用同一存储库的其他版本发生冲突。
  • 当其他人保存您的代码的新版本时,VCS会保留更改的历史记录。您可以查看此历史记录,以了解谁,为什么以及何时进行了什么更改。
  • VCS自动化功能可以在保存任何新版本时执行测试、代码分析和部署,从而节省您和团队的时间,并生成一致的结果。

现在让我们继续从Git开始区别Git和GitHub。

什么是Git?

既然您已经了解了版本控制,那么对Git的理解将非常容易。那么,什么是Git?

Git是您在本地系统上安装的版本控制软件。对于一个单独从事项目的个人而言,Git对您来说会是一个出色的软件。但是,如果您正在与一个大型团队一起合作一个项目,所有人都将在同一个项目上工作,但是你们每个人都将拥有同一项目的不同版本。

考虑下这种情况。您在计算机上的项目目录中进行了更改,并且想要将这些更改发送给协作者。此外,您希望将所做的更改直接显示在计算机的项目目录中。

在处理项目时,与团队成员保持一致对于避免任何类型的冲突都是非常重要的。那么,您将如何做呢?好吧,Git会处理所有这一切,但是这里唯一的条件是每个团队成员必须在其系统上安装Git。

Git也被称为分布式版本控制系统,这意味着使用Git,您可以将您以及他人的更改推到别人的计算机上,如下所示:

现在,使用Git,您可以与团队成员一起使用同一副本。但是,除非直到您拉出协作者的更改并推回自己的更改,否则您将要使用的副本不会反映主目录中的任何更改。

在当今市场上,Git是使用最广泛且使用最广泛的现代VCS。它也已经非常成熟,并且是一个维护良好的开源项目。由Linux内核的创建者Linus Torvalds于2005年开发,如果您查看以上Google Trends结果的图片,您会发现Git自2005年以来在市场上一直在增长。

各种软件项目,包括商业软件和开源软件,都完全依赖Git进行版本控制。那么,Git与其余的有什么不同?

Git与其他任何VCS(例如Subversion(SVN),Mercurial,TFS,Perforce,Bazaar等)的主要区别在于Git存储数据的方式。在其他系统中,信息存储为基于文件的更改的列表,这也称为基于增量的版本控制。但是对于Git,它以微型文件系统快照流的形式存储其数据。

使用Git,无论何时提交或保存项目状态,都会获取当前文件状态的快照并为其存储引用。如果未进行任何更改或更新,则Git将存储一个到先前已经存储的文件的链接。下图展示了Git如何存储不同的版本:

但是,只有当您知道协作者的系统何时打开并连接到网络时,Git才有用。那么当您的团队成员不在线时您将怎么办?在这种情况下,拥有相同项目副本的第三方将很方便,您可以在其中轻松地进行更改。

好吧,您将很高兴知道这就是GitHub的用途!在此博客的下一部分,我们将对此进行进一步说明。

什么是GitHub?

如前所述,Git是一个跟踪代码更改的版本控制系统,而GitHub是一个基于Web的Git版本控制存储库托管服务。它提供了Git的所有分布式版本控制和源代码管理(SCM)功能,并提供了一些自己的特性。对于开发人员而言,这是他们可以在其中存储项目并与志趣相投的人建立联系的地方。您可以将其视为“代码云”。

因此,基本上,GitHub是一个可以存储相同工作目录或存储库的地方。从字面上看,它是Git存储库的中心,您可以在GitHub上创建一个免费帐户,就可以在其中使用它。这些帐户具有丰富的存储空间,您可以在其中存储您的存储库并建立适当的配置文件来保存所有最重要的项目。

默认情况下,存储库是公共的,每个人都可以看到您的代码。但是,如果您愿意,也可以将其设为私有。而且,GitHub与Git合作。

Git是命令行工具,而GitHub是基于Web的图形界面,可为您提供访问控制、基本任务管理工具以及一些协作功能。

此外,GitHub可以用各种编程语言托管您项目的源代码,并跟踪每次迭代所做的更改。GitHub的功能并不止于此。它提供以下三个非凡功能,使其功能更加强大:

  • fork:或通常称为fork。当您没有正确的访问权限时,这就是从一个用户的帐户复制存储库。因此,您可以复制它并在您自己的帐户下对其进行修改。
  • pull:对复制的代码进行更改,并希望与其原始所有者共享时,可以向其发送一个称为“ pull request”的通知。
  • merge:现在修改代码的原始所有者,如果他们发现与您的更改相关,则只需单击一个按钮,就可以将您在存储库中所做的更改与原始存储库合并。

如果你的pull请求被接受,那么您会在原始网站上获得信誉,并显示在用户个人资料中。就像简历一样,可以帮助GitHub项目维护者确定您的声誉。因此,GitHub上的人员和项目越多,项目维护者看到其贡献者潜力的能力就越高。这鼓励年轻的开发商和项目在该行业中获得更大的发展。

现在我们已经定义了Git和GitHub,让我们总结一下两者之间的基本区别。

到此我们结束了有关Git vs GitHub的文章。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SACC开源架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档