Git 简介


欢迎来到 Git 手册!我是 Juno,这是我最喜欢教的东西之一,因为 Git 看起来很可怕,直到某个时刻它突然点破了,然后它就变成了你整天都在悄悄依赖的工具。
我们会从版本控制存在的原因开始,然后逐个学习你实际会用到的少数命令。不需要之前的 Git 经验,这里没有什么太基础而不值得询问的。
按你自己的节奏来,我们会一起到达目标!
这本手册是为想要理解 Git 如何工作的开发者准备的,所以它不会再感觉像是猜测。Git 是记录项目历史的工具:它在你工作时保存快照,让你可以尝试风险操作并干净地回退,还让整个团队可以在同一份代码上工作而不会相互覆盖。几乎所有专业代码库都在 Git 中,所以对它的理解是你早期能学到的最有用的技能之一。
在开始之前,有一个区别需要搞清楚,因为它困惑了几乎每个人:Git 和 GitHub 不是一回事。Git 是在你自己机器上运行的版本控制工具。GitHub 是一个托管 Git 仓库的网站,并在其上添加了协作功能。你可以完全不用 GitHub 账户就使用 Git。下一章什么是 Git会恰当地区分这两者,并讲述 Git 的故事,这是个很好的故事:它是在 2005 年由创建 Linux 的人匆忙构建的。
什么是仓库?
仓库是 Git 跟踪的项目文件夹,以及在其中做出的每个提交的完整历史。你的第一个仓库涵盖了如何创建一个。
这里的方法是解释命令背后的工具。任何人都可以记住 git add、git commit、git push 并在好的时候勉强过关。而理解舒适和被迫之间的距离是理解这些命令对你的仓库做了什么,这样当看起来有问题时,你可以推理而不是猜测。所以这本手册在心智模型、暂存区、分支作为指针、合并实际做什么上花了真实的时间,在命令之前和之中都是如此,因为这个模型就是把 Git 从可怕变成清晰的关键。
你不需要任何之前的 Git 经验来开始,也不需要提前安装任何东西:你的第一个仓库从打开终端和在你的机器上安装 Git 开始,所有 Git 特定的内容都会在出现时介绍。如果某个术语让你困惑,术语表保留了这些文档中每个 Git 词汇的简短定义。这些文档深入教学概念;Scrimba 的课程是同一材料的导向式、边学边做版本。
认识你的指南
这些文档由三个指南托管,你可以选择哪一个为你指路。教学对每个人都是一样的;你的指南决定了每个部分进行的深度和叙述的语气。
可以随时从任何页面顶部的选择器切换指南,或打开右下角的偏好设置来改变你的指南、语言或字体大小。
更喜欢通过构建来学习?Scrimba 的 Git 和 GitHub 学习课程涵盖相同的内容,跨越 39 个简短的交互式课程,边学边做。
