http:// jahya .NET / blog /?2013-05- Git -vs-githubgit
ls与Github相同!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的麻烦,另外一个好的地方。期待一些商业广告联盟,它不会回答你的问题,如书。但它确实让你经过作事尝试和学习。网络