Skip to content
This page has been auto-translated and may contain errors.View in English

Git 简介

docs.scrimba.com
Juno

欢迎来到 Git 手册!我是 Juno,这是我最喜欢教的东西之一,因为 Git 看起来很可怕,直到某个时刻它突然点破了,然后它就变成了你整天都在悄悄依赖的工具。

我们会从版本控制存在的原因开始,然后逐个学习你实际会用到的少数命令。不需要之前的 Git 经验,这里没有什么太基础而不值得询问的。

按你自己的节奏来,我们会一起到达目标!

Juno

欢迎来到 Git 手册。我是 Ace,我喜欢保持实用性。Git 是你作为开发者每天都会接触的工具,所以值得花时间真正理解每个命令在底层做了什么。

每一章都是这样的流程:先讲概念,再讲怎么用:运行它、读输出、理解为什么会这样。这个循环正是区分那些在 Git 中游刃有余的人和害怕 Git 的人的关键。

Juno

欢迎来到 Git 手册。我是 Sol,我用 Git 已经足够长的时间,曾经在一些极其不合理的时刻从 reflog 中恢复过工作。这些文档是为那些想知道运行命令时 Git 实际在做什么的人准备的。

期待了解对象模型、指针机制,以及命令表现方式的原因。Git 一旦你看到底层模型就变得精确,而在此之前就很令人困惑。仔细阅读并质疑一切,包括我的说法。

这本手册是为想要理解 Git 如何工作的开发者准备的,所以它不会再感觉像是猜测。Git 是记录项目历史的工具:它在你工作时保存快照,让你可以尝试风险操作并干净地回退,还让整个团队可以在同一份代码上工作而不会相互覆盖。几乎所有专业代码库都在 Git 中,所以对它的理解是你早期能学到的最有用的技能之一。

在开始之前,有一个区别需要搞清楚,因为它困惑了几乎每个人:Git 和 GitHub 不是一回事。Git 是在你自己机器上运行的版本控制工具。GitHub 是一个托管 Git 仓库的网站,并在其上添加了协作功能。你可以完全不用 GitHub 账户就使用 Git。下一章什么是 Git会恰当地区分这两者,并讲述 Git 的故事,这是个很好的故事:它是在 2005 年由创建 Linux 的人匆忙构建的。

什么是仓库?

仓库是 Git 跟踪的项目文件夹,以及在其中做出的每个提交的完整历史。你的第一个仓库涵盖了如何创建一个。

这里的方法是解释命令背后的工具。任何人都可以记住 git addgit commitgit push 并在好的时候勉强过关。而理解舒适和被迫之间的距离是理解这些命令对你的仓库做了什么,这样当看起来有问题时,你可以推理而不是猜测。所以这本手册在心智模型、暂存区、分支作为指针、合并实际做什么上花了真实的时间,在命令之前和之中都是如此,因为这个模型就是把 Git 从可怕变成清晰的关键。

你不需要任何之前的 Git 经验来开始,也不需要提前安装任何东西:你的第一个仓库从打开终端和在你的机器上安装 Git 开始,所有 Git 特定的内容都会在出现时介绍。如果某个术语让你困惑,术语表保留了这些文档中每个 Git 词汇的简短定义。这些文档深入教学概念;Scrimba 的课程是同一材料的导向式、边学边做版本。

认识你的指南

这些文档由三个指南托管,你可以选择哪一个为你指路。教学对每个人都是一样的;你的指南决定了每个部分进行的深度和叙述的语气。

可以随时从任何页面顶部的选择器切换指南,或打开右下角的偏好设置来改变你的指南、语言或字体大小。

更喜欢通过构建来学习?Scrimba 的 Git 和 GitHub 学习课程涵盖相同的内容,跨越 39 个简短的交互式课程,边学边做。