Git和GitHub之间的区别


Answers:


366

Git是一个版本控制系统,是一种用于管理源代码历史记录的工具。

GitHub是Git存储库的托管服务。

所以它们不是一回事:Git工具GitHub使用Git的项目服务

要将代码发送到GitHub,请在此处查看


22
最值得注意的是,GitHub是git的存在的结果,而不是唯一的托管服务。
乔纳斯·谢弗(JonasSchäfer)2012年

83
此外,你不具备使用远程服务像github上,如果你想要的是版本控制-本地Git是对于就好了。远程存储库用于备份和协作。
Thilo 2012年

3
请注意,您可以在许多Web服务器(例如webfaction vs heroku)中创建远程git存储库。配置该github有点困难,但是对于大型团队来说更便宜。
Adrian Lopez 2014年

1
查看此比较以了解有关Git Hosting Services的更多信息。git-tower.com/blog/git-hosting-services-compared
Junaid

我认为,“工具”和“服务”这两个词的用法对于不熟悉该问题的人(即,正在搜寻此问题的人)是模棱两可的。也许“ Git是一种用于管理源代码的技术,而GitHub是提供git作为托管它们的代码的服务的众多产品之一”。
拉沙德·萨利赫

68

在SVN类比中,Git替换了SVN,而GitHub替换了SourceForge:P

如果您的这个项目是新项目,那么您仍然可以提交到本地Git,然后稍后再推送到GitHub。您将需要在Git设置中将GitHub存储库添加为“远程存储库”。

他们似乎为Eclipse用户提供了一些东西:http : //eclipse.github.com/

否则,如果您不熟悉Git:http : //git-scm.com/book


使用在线GITHUB的替代方法是什么?
变数

@variable您是说像本地Git存储库,还是像GitLab这样的自托管Git服务器?
bakkal

65

什么是Git

“ Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有问题”

Git是一个分布式的对等版本控制系统。网络中的每个节点都是一个对等点,存储整个存储库,这些存储库还可以充当多节点分布式备份。中央服务器没有特定的概念,尽管节点可以是无头的或“裸露的”,其作用类似于集中式版本控制系统中的中央服务器。

什么是GitHub

“ GitHub是基于Web的 Git存储库托管服务,它提供Git的所有分布式修订版本控制和源代码管理(SCM)功能以及添加自己的功能。”

Github为每个项目提供访问控制和多种协作功能,例如Wiki,任务管理,错误跟踪和功能请求。

不需要 GitHub即可使用Git。

GitHub(以及任何其他本地,远程或托管系统)都可以是单个项目中相同分布式版本库中的对等体。

Github允许您:

  • 与他人共享您的存储库。
  • 访问其他用户的存储库。
  • 将存储库(github服务器)的远程副本存储为本地副本的备份。

告诉我为什么git被称为分布式?仅因为git store更改在本地PC中设置?请阐明此分布式词的重要性,因为我是git的新手。感谢

1
您需要Git才能使用GitHub吗?
user3187724 '19

25

Git — GitHub构建的版本控制工具。

GitHub —我们的公司和我们的软件的名称。我们构建软件和网站来帮助您以一种不错的方式与Git存储库进行交互。

GitHub.com —您登录以在线查看存储库的网站。

GitHub Desktop-您可以在计算机上安装的应用程序,可帮助您将本地代码与GitHub.com同步。

来源:https : //guides.github.com/introduction/getting-your-project-on-github/


15

Git和GitHub之间有许多明显的区别。

Git本身确实专注于版本控制的基本任务。它维护着一个提交历史,它允许您通过resetrevert命令来撤消更改,并且可以通过push和pull命令与其他开发人员共享代码。我认为这些是每个开发人员都希望从DVCS工具获得的基本功能。

Git与GitHub比较表

使用Git消除范围蠕变

但是关于Git的一件事是,它实际上只是专注于源代码控制,而没有别的。太棒了,但这也意味着该工具缺少组织想要的许多功能。例如,没有内置的用户管理工具来验证谁在连接和提交代码。与Jira或Jenkins之类的东西的集成留给开发人员来解决诸如hook之类的东西。基本上,有很多地方可以集成功能。这就是GitHub和GitLab等组织进来的地方。

GitHub的其他功能

GitHub的主要“增值”之处在于,它为Git提供了基于云的平台。那本身就是很棒的。最重要的是,GitHub还提供:

  • 简单的任务跟踪
  • GitHub桌面应用
  • 在线文件编辑
  • 分支机构保护规则
  • 拉取请求功能
  • 组织工具
  • 热头的互动限制
  • 表情符号支持!!!:octocat::+1:

因此,GitHub确实为已经流行的DVCS工具增加了完善和完善。

Git和GitHub竞争对手

有时候,要区分Git和GitHub,最好看一下他们与谁竞争。Git在市场上与Mercurial,Subversion和RTC等工具竞争,而GitHub在SaaS领域的竞争更多是与GitLab和Atlassian的BitBucket等云供应商竞争。

不需要GitHub

我一直想提醒人们的一件事是,您不需要GitHub或GitLab或BitBucket即可使用Git。Git是在2005年发布的?GitHub直到2007年或2008年才出现,因此大型组织早在云托管供应商出现之前就使用Git进行分布式版本控制。因此,Git本身就很好。它不需要云托管服务即可有效。但是同时,拥有PaaS提供商当然不会受到伤害。

使用GitHub桌面

顺便说一句,您提到了GitHub帐户中的存储库与本地存储库之间的不匹配?这是可以理解的。在连接并完成拉取或提取操作之前,本地Git存储库不了解远程GitHub存储库。话虽如此,GitHub提供了一种称为GitHub桌面的工具,该工具使您可以从桌面客户端连接到GitHub,并轻松地将本地Git存储库加载到GitHub,或将GitHub存储库引入本地计算机。

GitHub桌面

我对这个工具并没有太过深刻的印象,因为一旦您了解了Git,在Bash shell中就不难做这些事情了,但这是一个选择。

Git和GitHub之间的斗争


9

通过简单的方式,我们可以看出以下是git和git hub与VSTS之间的区别。

git:-将git作为一种引擎/技术来实现对我们项目的源代码版本控制。不同于TFS(还是集中式源代码版本控制),git是分布式版本控制技术。这意味着git实际上并不要求拥有任何服务器。通过git技术,我们可以将自己的本地计算机作为源代码存储库,而不必始终拥有集中式服务器(大规模情况下,可以使用Microsoft服务器推送并保留我们的项目源代码)。但是,使用SVN和TFS类型的版本控制,必须将服务器与其关联。

例如,如果我是一名自由开发人员,并且直接向我的客户报告,并且没有其他开发人员参与,那么我需要保留代码的版本控制以回滚(任何版本)并提交我的代码,而我不需要我有预算购买一台服务器,而我没有时间在我的计算机上安装和使用其他服务器作为TFS服务器和TFS客户端。因此,最佳方法是安装git引擎并将本地计算机用作git控制版本的存储库。

的GitHub:-就像我之前说的git是一项技术,用于某些命令/ shell命令,即git仅不具有UI。GitHub是在线产品或在线存储库,它使用git技术进行流程并实现版本控制以及其他功能,例如错误跟踪,项目管理,支持票证管理等。换句话说,Git Hub是基于git技术的包装程序,具有其他第三方公司提供的UI和其他功能,它实际上是某个人或某个基于git技术的组织拥有的产品,因为git是开源的,不适合销售产品。

VSTS:-VSTS是用于在线存储库的Microsoft产品,保留源版本控制,可以将其视为git hub的替代版本。自Microsoft以来,VSTS支持git技术和TFS(TFVC-team Foundation版本控制)。因为TFS是另一个实现此版本控制的Microsoft旧产品。我逐渐假设VSTS将逐渐转储TFS,因为git是该领域的主要技术,并且它是开源的。


7

用简单的英语:

  1. 众所周知,它们都是源代码控制。
  2. 打个比方,如果Git是一台独立的计算机,那么GitHub是一个网络通过与钟声和哨声腹板连接的计算机。
  3. 因此,除非您打开GitHub帐户并明确告诉VSC或任何编辑器使用GitHub,否则您将看到源代码向上-否则它们就在本地计算机上。

0

Git- Git是您在本地系统上安装的版本控制软件。对于一个单独从事项目的个人而言,Git被证明是出色的软件。

GitHub- 如前所述,Git是一个跟踪代码更改的版本控制系统,而GitHub是一个基于Web的Git版本控制存储库托管服务。它提供了Git的所有分布式版本控制和源代码管理(SCM)功能,同时具有一些自己的功能。


0

简而言之,Git是一个版本控制系统,可让您管理和跟踪源代码历史记录。GitHub是基于云的托管服务,可让您管理Git存储库。如果您有使用Git的开源项目,那么GitHub旨在帮助您更好地管理它们。


-3

如果您想跨开发人员进行协作,则需要Github。如果您是一个贡献者,那么git就足够了,请确保您定期备份代码

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.