http:// jahya .NET / blog /?2013-05- Git -vs-github
ls与Github相同!
有一天,我试图告诉一个朋友Git和Github是如何相关的。Git end和Github在哪里开始?他们每个人甚至为你做什么?
我意识到这实际上是值得一去不复返的基础知识之一。如果您可以互换使用术语,这个区别可以让您了解更多信息的良好背景,并且明确性将使您能够稍后引导一连串混乱。
什么是Git?
那么Git不是Github。Git是您在计算机上本地安装的一个软件,它为您处理“版本控制”。
Git不是Github
所以要了解Git,你必须学习版本控制。
什么是版本控制?
让' 说你有一些新的项目,你打算将该项目的所有文件存储在一些新的目录中。你知道,随着时间的推移,这个项目中的文件将会发生很大变化。事情会变得凌乱,谁知道什么时候可能需要恢复到以前的工作版本?
所以,你在你的电脑上安装Git。然后,您有Git为您创建新的项目目录。你也告诉Git你想保留你在该目录中所做的更改的历史记录。
然后,您添加一些文件来启动项目。您刚刚添加的文件代表项目之旅的第一个增量步骤。所以你告诉Git拍一张快照。
然后你做一个小的改变 - 你的下一个增量步骤。所以你再拍一张快照。
然后' 关于它的版本控制 - 做一个小的改变,拍摄快照,做另一个小的变化,拍摄快照。然后,您可以使用Git在需要时通过项目目录的每个快照(快照aka版本)来回滚动。因此,版本控制。
而Git只是许多版本控制系统之一,您可以在您的机器上下载并安装。因此,吉特。
与Git
合作对你而言,这是个好人。但是如果你正在一个团队工作,而且你想分享你的项目目录呢?并且您想在您的机器上进行更改,将这些更改发送给协作者,并且还会在计算机的项目目录中显示更改?
Git是一个所谓的分布式版本控制系统。
所有这一切意味着Git具有允许您将更改推送到其他人的计算机的命令 : 使用Git
进行协作项目目录的两个副本比任何其他文件都更好或“更大” - 您正在对相同的副本进行协作。这是一件好事,Git让您有权力按照自己的副本进行工作,直到您准备好参与协作者的更改,并推送自己的更改。
但是,除非您每天正在相互工作,否则您无法确定合作者何时将自己的计算机插入网络。如果有第三个相同的副本,你们都可以推拉,那不是很好吗?
与Git和GitHub合作
嗯,那就是Github!它是核心,它只是一个地方存储你的相同的工作目录 - 也称为仓库,或回购的简称。这就是Github提供的服务 - 它真的是Git仓库的中枢。
使用Git和GitHub进行协作
Github为您提供了一些更多的功能,如一个漂亮的网站,允许您比较更改和管理用户帐户。但是,存在的理由是托管您的资料,并使您更容易地从合作者推出。
*不只是一个托管服务!
人们常犯的一个常见错误就是认为,因为Github的repo默认是公开的,它基本上只是在完成时托管和分享你的代码。这是你可以做的一件事,但如果这是你正在做的,你错过了Git的实力。
Git真正擅长的是协作工具。一个让你与别人做的地方 如果您在本地机器上执行所有编码,然后在最后一次将快照上传到一个快照(也称为提交)中,则会丢失大量的值。
Git允许您在每一次变化之后进行快照/提交。我每天经常有10次提交,我或任何人都可以随时随地通过这些快照来进行循环。人们可以看到我的思维发展如何 - 早期的承诺是实验性的,项目几乎没有开始解决它的目标,后来的承诺更加成熟,项目越来越近了。
提前提交,
但是,提前/提交的更大的好处往往是其他人可以看到和评论你在做什么。您正在进行协作和开放,反馈,建议或帮助,您可能会改变项目的整个过程,以获得更大的收益。它可能会节省您一大堆时间,帮助您发现以前未考虑的潜在潜力,甚至可以确定一个能帮助您推动项目前进的好的协作者。
打开你的半点想法对一些人来说听起来很恐怖,但是我们都经历了这些阶段 - 那些是反馈和参与最为关键的时代。如果您不希望世界看到您的项目,您可以随时创建一个私人回购,并通过邀请拉入协作者。
Github的替代方案
由于Git和Github并没有真正的关联 - Github只是另一个存储相同回收站的地方 - 您可以使用任何Git托管服务。一个替代方案是Bitbucket。这个服务给你免费的私人回馈(不像Github),以防你不能随时与世界分享你的工作。
然而,Github是使用最广泛的Git主机服务,并且拥有广泛的用户共享代码和交互的社区。
如何学习Git
所以在任何情况下,当您开始的真正挑战是不学习Github,这只是一个可互换的服务,允许您托管真正有价值的东西 - 您的Git存储库。你的注意力是更好地学习Git。
在我看来,学习Git的最好方法是这本免费的在线书籍:git-scm。com /书。它逐步引导您走过,并不承担任何特定的知识。有一个在线,PDF和mobi版本可用,并且当您进入该阶段时,它使用Github进行托管。
有很多话题要覆盖,但对于大多数用户进行相当小的交互,前两章应该足够了。您可以在必要时拿起更硬的东西。
尝试Git,如果你想尝试一些命令,而不用经历安装Git的麻烦,另一个好的地方。期待一些商业广告联盟,它不会回答你的问题,如书。但它确实让你通过做事尝试和学习。
祝你好运!当您进入该阶段时,它会使用Github进行托管。有很多话题要覆盖,但对于大多数用户进行相当小的交互,前两章应该足够了。您可以在必要时拿起更硬的东西。尝试Git,如果你想尝试一些命令,而不用经历安装Git的麻烦,另一个好的地方。期待一些商业广告联盟,它不会回答你的问题,如书。但它确实让你通过做事尝试和学习。