简介
GitHub 是一个通过 Git进行版本控制的软件源代码托管服务,由 GitHub 公司(曾称 Logical Awesome)的开发者 Chris Wanstrath、PJ Hyett 和 Tom Preston-Werner 使用 Ruby on Rails编写而成。
GitHub 同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库,但是付费账户还可以创建私有的代码仓库。根据在 2009 年的 Git 用户调查,GitHub 是最流行的 Git 访问站点.
除了允许个人和组织创建和访问保管中的代码以外,它也提供了一些方便社会化共同软件开发的功能,即一般人口中的社区功能,包括允许用户追踪其他用户、组织、软件库的动态,对软件代码的改动和 bug 提出评论等。GitHub 也提供了图表功能,用于概观显示开发者们怎样在代码库上工作以及软件的开发活跃程度。
截止到 2015 年,GitHub 已经有超过九百万注册用户和 2110 万代码库。
事实上已经成为了世界上最大的代码存放网站和开源社区
更多:维基百科
开始使用 GitHub
本文是我对于官方文档:Hello World 的翻译。
Hello World 项目是计算机编程中一个历史悠久的传统。 这是一个在你开始学习新东西时候的简单练习。 让我们开始使用 GitHub 吧!
您将学会:
- 创建和使用存储库(repository);
- 启动和管理新分支(branch);
- 对文件进行更改并将其推送提交(commit)到 GitHub ;
- 打开并合并一个 Pull 请求。
什么是 GitHub?
GitHub 是用于版本控制和协作的代码托管平台。 它可以让你和其他人在任何地方协同工作同一个项目。
本教程教你 GitHub 的要素,如仓库 (repositories),分支 (branches),提交 (commits) 和 Pull 请求。 您将创建自己的 Hello World 项目存储库,并学习 GitHub 的 Pull Request 工作流程,这是一种流行的创建和审查代码的方法。
无需编码
要完成本教程,您需要一个 GitHub 帐户和可以连接的 Internet 网络。 您不需要知道如何编码,使用命令行,或安装 Git(GitHub 的版本控制软件被建立于此)。
提示:在单独的浏览器窗口(或选项卡)中打开此指南,以便在完成教程中的步骤时可以看到它。
步骤 1. 创建存储库 (Repository)
** 存储库 (repository)** 通常用于组织单个项目。 存储库可以包含文件夹和文件,图像,视频,电子表格和数据集 - 即项目需要的任何内容。 我们建议您包括一个 README 文件,或包含有关您的项目信息的文件。 GitHub 使得在创建新存储库的同时添加一个 README 文件很容易实现。 它还提供其他常见选项,如许可证文件。
你的 hello-world
存储库 可以是一个你存储想法,资源,甚至与他人分享和讨论内容的地方。
创建新存储库 (Repository)
- 在右上角,在您的头像或识别码旁边,单击 + 然后选择 “Create new…”。
- 命名您的存储库名称为
hello-world
。 - 写一个简短的描述 (description)。
- 勾选 Initialize this repository with a README(使用 README 初始化此存储库。)
[图片上传失败…(image-7fa7f1-1513732778552)]
点击 Create repository(创建存储库)。
步骤 2. 创建分支(Branch)
分支(Branching) 是同时在同一个存储库中创建不同版本的方式。
默认情况下,你的仓库有一个名称为 master
的分支,它被认为是最终分支。 我们使用分支进行实验和编辑,然后将分支提交到 master
。
当您在主 master
分支上创建分支时,您就创建了主 master
节点在该时间点的副本或快照。 如果有人在您在分支上工作时对主 master
分支进行了更改,你就可以提取这些更新。
此图显示:
主分支 The
master
branch一个新的分支称之为 映像(
feature
)(因为我们在这个分支上做 “映像工作”)在映像(
feature
)被合并到主master
分支上的旅程
[图片上传失败…(image-b704e5-1513732778552)]你曾经保存过一个文件的不同版本吗? 就像是:
- story.txt
- story-joe-edit.txt
- story-joe-edit-reviewed.txt
* 分支 (Branch)** 在 GitHub 存储库中实现类似的目标。
在 GitHub 上,我们的开发人员,作家和设计师使用分支来保持错误的修复和功能工作在独立于我们的主(产品)分支上。 当更改准备就绪时,它们将其分支合并到主 master()节点上。创建一个新的分支
- 进入您的新存储库
hello-world
。 - 单击文件列表顶部叫做 branch:master 的下拉列表。
- 在新分支文本框中键入分支名称 readme-edits。
- 选择蓝色的 Create branch 框或按键盘上的 “Enter”。
[图片上传失败…(image-900a77-1513732778552)]
现在你有两个分支,master
和readme-edits
。 他们看起来完全一样,但不长久! 接下来,我们将把更改添加到新分支。
- 进入您的新存储库
步骤 3. 制作并提交更改
哇哦! 现在,你在 readme-edits
分支的代码视图上,这是 master
的副本。 让我们做一些编辑。
在 GitHub 上,保存的更改称为 ** 提交 (commit)**。 每个提交都有一个相关的提交消息,这是一个描述为什么进行特定更改的描述。 提交消息会捕获您更改的历史记录,因此其他参与者可以了解您的操作以及原因。
制作并提交更改
- 单击
README.md
文件。 - 在文件视图的右上角单击✎铅笔图标编辑。
- 在编辑器中,写一点关于你自己的东西。
- 编写提交消息来描述您的更改的内容。
- 单击 Commit changes 提交更改按钮。
[图片上传失败…(image-8c610f-1513732778552)]
这些更改将只发生在readme-edits
分支上的 README 文件,因此现在此分支包含的内容与master
不同。
步骤 4. 开启拉取请求(Pull Request)
干得漂亮! 现在,您在 master
的分支中有更改,您可以开启拉取请求了。
Pull Request 请求是 GitHub 协作的核心。 当您开启拉取请求时,您就会提出您的更改和请求,并要求某人审核并提交您的贡献,并将其合并到他们的分支中。 拉取请求会显示来自两个分支的内容的差异或差异。 更改,添加和减少以绿色和红色显示。
一旦提交(commit)以后,您就可以开启一个拉取请求(Pull Request)并,在代码完成之前展开讨论。
通过在您的请求消息中使用 GitHub 的 @提醒系统,您可以请求特定人员或团队的反馈,无论他们是在大厅还是在 10 个时区以外。
您甚至可以在您自己的存储库中开启拉取请求并自行合并它们。 这是一个在更大的项目之前学习 GitHub 流的伟大的方式。
##### 开启一个对 README 的更改的 Pull Requset
点击图片获得更大的版本
步骤 | 截图 |
---|---|
单击 Pull Requset 选项卡,然后在拉请求页面,单击绿色的 New pull request 按钮。 | [图片上传失败…(image-eae31e-1513732778552)] |
选择您所做的分支 readme-edits ,以与 master (原始)进行比较。 |
[图片上传失败…(image-92ee70-1513732778552)] |
查看比较页面上的差异更改,确保它们是您要提交的内容。 | [图片上传失败…(image-72991b-1513732778552)] |
当您确定这些是您要提交的更改时,单击大的绿色 “Create Pull Request” 按钮。 | [图片上传失败…(image-45bab3-1513732778552)] |
给你的 Pull Request 写一个标题,并写一个简短的描述你的更改。 | [图片上传失败…(image-870051-1513732778552)] |
当你完成填写以上信息后,点击 Create pull request。
提示:您可以使用表情符号并将图片和 GIF拖放到你的评论和拉取请求上。
步骤 5. 合并 (merge) 您的请求
在这最后一步,是时候把你的更改放在一起了 - 合并你的 readme-edits
分支到 master
分支。
- 单击绿色 Merge pull request 按钮将更改合并到
master
中。
[图片上传失败…(image-fc048d-1513732778552)] - 单击确认合并(Confirm merge)。
- 继续并删除分支,因为它的更改已被合并,删除分支(Delete branch)按钮在紫色框中。
[图片上传失败…(image-9a4969-1513732778552)]
恭喜
通过完成本教程,您已经学会了创建一个项目,并在 GitHub 上发出 pull request 了
!
这里是你在本教程中完成的:
- 创建了一个开源库
- 开始和管理一个新的分支
- 更改了一个文件并将这些更改提交给 GitHub
- 开启并合并一个 Pull Request
看看你的 GitHub 个人资料,你会看到你的新贡献方块!
如果您想了解有关 Pull Request 的更多功能,我们建议您阅读 GitHub Flow Guide。 您还可以访问 GitHub 探索并参与开源项目.
提示:请参阅我们的其他指南和 YouTube 频道,了解更多 GitHub 操作方法。
参考
- Git Cheat Sheet 中文版
- Git 的使用感受 @唐巧
- Git 常用命令
- 怎样在 Github 上面贡献代码 @lark
- Git 及 GitHub 快速入门图文全面详解(30 分钟学会)
- GitFlow ⭐️⭐️⭐️
遇到的问题
- GitHub Push 出现的 The local repository is out of date 解决
最后更新:20190105