--- title: Git 和 GitHub slug: Learn/Tools_and_testing/GitHub translation_of: Learn/Tools_and_testing/GitHub ---
{{LearnSidebar}}{{draft}}

所有开发者都将使用到版本控制系统 ( Version Control System, 简称 VCS ), 这种工具让他们在分工合作时避免了不必要的重复与冲突,如果遇到什么问题,也可以及时回退到之前的版本。当今最流行的版本控制系统(至少在网络开发者中是这样的)是 Git,和与之关联的编程社区网站 GitHub 。这篇短文将带你简单地了解他们。

主要介绍

版本控制系统在软件开发过程中是必不可少的:

版本控制系统提供了能够满足以上需求的工具。Git 是版本控制系统的典范,而 GitHub 是一个为个人或团队操作 Git 储存库 ( Git Repositories) 提供了 Git 服务器和一系列非常实用的工具的网站+基础设施。它提供了报告代码错误、检查工具以及分配任务和任务状态等项目管理工具等等。

温馨提示: Git 实际上是一个分散式的版本控制系统,这意味你和其他所有人的电脑上都可以有一个这个复制了这个项目所有源代码的储存库的副本。你在自己的副本上进行了修改,然后提交给服务器,在那里将由这个项目的管理者来决定是否将你的修改添加到主本中。

事先准备

为了使用 Git 和 GitHub,你首先需要:

在此之前你并不一定要有关于网络开发、Git 和 GitHub 或者版本控制系统的任何知识。但是最好还是能有一点基础的计算机使用技能并且懂一点编程,以及有一些可以存放进储存库的代码。

建议你最好还能够有一些基础的命令行终端的知识,例如:切换目录、新建文件以及修改系统路径(PATH)。

温馨提示: Github 并不是使用 Git 的唯一途径。还有很多像 GitLab 这样的选择值得你去尝试。你也可以尝试着去构建你自己的 Git 服务器来代替 Github 的功能。在这里我们只是将 Github 作为一种可行的途径进行介绍。

带你入门

先提醒一下这些链接将会带你去访问一些外部资源。我们最终将致力于开发我们专属的 Git 和 GitHub 教程,但现在,这些资料将会带你轻松入门。

Hello World【 欢迎来到新世界】 (来自 GitHub)
这里是开始使用 GitHub 的正大门,在这里你可以学到 Git 的基础操作,例如:创建储存库 (Repository) 分支 (Brunch) 确认提交 (commit) 以及打开和合并拉取请求 (open/merge Pull Request)。
Git Handbook 【使用手册】 (来自 GitHub)
这个 Git 使用手册就稍微更深入一点了,它解释了什么是版本控制系统、什么是储存库 (Repository) GitHub 模型如何运行、 Git 指令和示例等。
Forking Projects 【复刻项目】 (来自 GitHub)
当你想要对别人的代码做出贡献时,复刻fork,即服务端代码仓库复制)是必不可少的步骤。这个链接将告诉你如何操作。
About Pull Requests 【关于拉取请求】 (来自 GitHub)
这是一个管理拉取请求的有用的指南:你所修改的代码需要通过拉取请求来让项目的管理者决定是否采纳。
Mastering issues 【处理问题】 (来自 GitHub)
问题区 (Issues) 就像是一个关于你这个 GitHub 项目的论坛,在这里人们可以提问题和报告错误,你可以管理更新(例如给人们分配需要解决的问题、澄清问题以及告知问题已经解决)。这篇文章会让你知道所需要的一些关于问题区的知识。

温馨提示: 在 Git 和 GitHub 上面你还可以做一大堆事情,但我们认为,如果你想要有效地使用 Git ,上面的这些知识是至少应该具备的。当你更深入地了解 Git 时,你将会意识到,当你开始使用更加复杂的指令时会更容易出错。但不要担心,即使是专业的网络工程师有时都会感到困惑,并通过网络检索或 Flight rules for Git Dangit, git! 这样的网站来寻找答案。

还可以看看