Git和GitHub之间的区别

时间:2012-11-10 11:20:32

标签: git github

我最近使用Eclipse向Git添加了一个新项目,但是没有看到该项目出现在我的GitHub帐户中。

为什么他们拥有相同的帐户信息和不同的存储库?

不是Git和GitHub一样吗?

10 个答案:

答案 0 :(得分:327)

Git 是一个修订控制系统,是管理源代码历史记录的工具。

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

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

要将代码发送到GitHub,have a look here

答案 1 :(得分:59)

在SVN类比中,Git取代了SVN,而GitHub取代了SourceForge:P

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

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

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

答案 2 :(得分:57)

什么是Git

  

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

Git是一个分布式对等版本控制系统。网络中的每个节点都是一个对等体,存储整个存储库,这些存储库也可以充当多节点分布式备份。没有中央服务器的具体概念,尽管节点可以是无头的或者是“裸”,在集中式版本控制系统中扮演类似于中央服务器的角色。

什么是GitHub

  

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

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

不需要 GitHub使用Git。

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

Github允许您:

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

答案 3 :(得分:5)

我们可以通过简单的方式告诉我们git和git hub与VSTS之间的区别。

git : - 将git视为引擎/技术,以实现对我们项目的源版本控制。与TFS(同样是集中式源版本控制)不同,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的替代品。自微软以来,VSTS支持git技术和TFS(TFVC团队基础版本控制)。因为TFS是另一个实现此版本控制的旧Microsoft产品。我认为VSTS将逐渐转储TFS,因为git是该领域的突出技术,它是开源的。

答案 4 :(得分:5)

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

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

Git versus GitHub Comparison Chart

使用Git不会产生蠕变

但是关于Git的一件事是,它实际上只是专注于源代码控制,而没有其他事情。太棒了,但这也意味着该工具缺少组织想要的许多功能。例如,没有内置的用户管理工具来验证谁在连接和提交代码。与Jira或Jenkins之类的东西的集成留给开发人员来解决,例如钩子。基本上,有很多地方可以集成功能。这就是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 desktop的工具,它使您可以从桌面客户端连接到GitHub并轻松地将本地Git存储库加载到GitHub,或将GitHub存储库引入本地计算机。

GitHub Desktop

该工具并没有给我留下深刻的印象,就像您了解Git一样,在Bash shell中做这些事情并不难,但这是一个选择。

The fight between Git and GitHub

答案 5 :(得分:2)

众所周知,它们都是关于源代码控制的。打个比方,如果Git是一台独立的计算机,那么GitHub是通过铃铛和吹口哨通过网络连接的计算机的网络

答案 6 :(得分:0)

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

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

答案 7 :(得分:0)

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

答案 8 :(得分:0)

简单来说:

Git - 是本地存储库。

GitHub - 是中央存储库。

希望下面的图片有助于理解: Git and GitHub Difference

Git and GitHub Difference more details

答案 9 :(得分:-2)

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