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的麻烦,另一个好的地方。期待一些商业广告联盟,它不会回答你的问题,如书。但它确实让你通过做事尝试和学习。

转载于:https://www.cnblogs.com/wugu-ren/p/6781952.html

Git和Github之间的区别相关推荐

  1. Git GUI,Git Bash,Git CMD标签之间的区别

    Git GUI,Git Bash,Git CMD标签之间的区别 本地安装完Git之后,右键会出现2个有关Git的标签,"Git GUI Here" 和 "Git Bash ...

  2. Git 与 GitHub 、GitLab 区别(学习笔记)

    目录 1 版本控制系统 1.1 Git介绍 1.2 版本控制系统类型 1.2.1 分布式版本控制工具 1.2.2 集中式版本控制工具 2 Git GitHub 与GitLab 的关系 2.1 Git ...

  3. Git、GitHub、GitLab区别与联系

    1.git 是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理.简单说相当于一个大容器,1.0版本.2.0版本都能往里面塞,也能提取出来,同一个团队的每个人都可以上传/下 ...

  4. IDEA的Shelve与Git的Stash之间的区别

    前言 在日常开发中,会遇到需要在不同的开发任务之间切换的情况,此时,如果手中有尚未写完的代码,就需要使用某种方法先保存起来,之后再继续处理没写完的代码. 有两种方法可以解决上述问题:一个是利用IDEA ...

  5. Git Gitlib Github GitLab Gerrit 区别

    Git:是一种版本控制系统,是一个命令,是一种工具.是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.使用教程:https://git-scm.com/book/zh/v2,关于分 ...

  6. #39;git pull#39;和#39;git fetch#39;有什么区别?

    主持人注意:鉴于此问题已经发布了67个答案 (其中一些已删除),请在发布另一个问题之前考虑您是否正在贡献新内容 . git pull和git fetch什么区别? #1楼 我花了一点时间来了解有什么区 ...

  7. 用 Git 和 Github 提高效率的 10 个技巧!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:segmentfault.com/a/11900000038 ...

  8. 关于Git和Github你不知道的十件事

    Git 和 GitHub都是非常强大的工具.即使你已经使用他们很长时间,你也很有可能不知道每个细节.我整理了Git和GitHub可能提高日常效率的10个常用技巧. GitHub 快捷键: t 和 w ...

  9. 关于Git和Github

    英文原文:Ten Things You Didn't Know Git And GitHub Could Do Git 和 GitHub 都是非常强大的工具.即使你已经使用他们很长时间,你也很有可能不 ...

最新文章

  1. Xcode 8 插件安装
  2. sql 树状结构中知道 父节点与孙节点_sqlserver树状结构表中,获取指定节点的所有父节点路径_MySQL...
  3. 一个非常奇怪的C++拷贝构造函数问题
  4. JS 删除 cookie
  5. BZOJ1191: [HNOI2006]超级英雄Hero(二分图匹配)
  6. java - 百钱百鸡小算法
  7. const修饰指针和引用的用法【转贴】
  8. 设计师学习HTML/CSS之路-11
  9. read接收不全linux,linux下串口读写有关问题 read 一次读不全(5)
  10. binlog数据库不写入binlog_MySQL数据库及InnoDB存储引擎的日志文件
  11. 一天赚148万元,科大讯飞2018年净利润达5.42亿,但53%为政府补助
  12. 为什么要使用boost::enable_shared_from_thisT
  13. paip.log4j兼容linux windows 路径设置
  14. 利用jsp设计一个简单计算器 (加减乘除)
  15. Badboy安装教程(含下载地址)
  16. teamviewer 11 linux,安装Teamviewer的问题
  17. 怎么制作动态图片?教你三步制作GIF图片?
  18. 高级计算机网络管理员试题及答案,2016年计算机软考网络管理员测试题及答案...
  19. python3结果窗口打开_python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法...
  20. 在字符串中查找一个字符

热门文章

  1. Node.js webpack babel
  2. java 程序简介
  3. 1.7 什么时候该改变开发_测试集和指标
  4. neo4j order by
  5. 语言的MASS包干什么的_R语言绘制平行坐标图(PCP)示例
  6. PostgreSQL学习总结(2)—— PostgreSQL 语法
  7. 绿茶软件测试自学,7号心理测试小程序
  8. js类似matlab_JavaScript与MATLAB的计算性能差异对比研究
  9. java io流区别_Java中IO流的分类和BIO,NIO,AIO的区别
  10. 慢连接攻击的原理和防范