Note: 本文翻译自 https://guides.github.com/activities/hello-world/
文章中为了方便理解将“pull request”翻译为“发送请求”或“上拉请求”;建议读者最好用英文“pull request”。
正文:
What is GitHub?
GitHub是用来进行版本控制和协作的一个代码托管平台。它能够让你和其他人在不同的地方共同开发同一个工程项目。
本教程将会讲解GitHub中的有关基础知识,如repositories(仓库), branches(分支), commits(提交), 以及Pull Requests(发送请求)。你将会创建属于你自己的第一个代码仓库,并学会GitHub的发送请求(是一种对创建和检查代码非常有用的方式) 流程。
不需要编写代码
为了完成此教程,你需要连网以及注册一个 GitHub 账户。你不需要知道怎么去编写代码、怎么去使用命令行或者怎么去安装Git。
Step 1:创建一个仓库
仓库通常用来管理某一项单一工程,它包含着该工程里需要的所有东西,包括文件夹、文件、图片、视频、电子表格以及数据集等。建议在工程中包含一个README 文件或者介绍该工程的说明文件。
步骤:
1、右上角点击“+”,选择 New repository;
2、为你的仓库命名(如Hello-world);
3、对仓库进行一个简单的描述;
4、勾选 Initialize this repository with a README。
5、点击
Create repository.
Step2 创建一个分支
Branching能够让你在某一时刻处理同一个仓库的不同版本。仓库一般默认只有一个分支 master,即主分支。在不同的分支提交给 master主分支之前可以使用这些不同的分支来进行测试或者编辑。
当你从master主分支分离出一个创建的分支,即对此时的主分支做了一个拷贝。在你对你自己新创建的分支编辑时,如果有人对主分支做了修改,你可以上拉(pull in)这些更新。
如下图所示,从master主分支分离出的新分支,feature分支,即为我们当前正在工作的分支,当在feature分支最终完成我们当前的工作后,通过提交上拉请求(pull request),待管理员审核同意后则可将feature分支合并至master分支。
在github中,开发者、作者以及设计者使用从master分支分离出的不同分支(类似上图中的feature分支)来进行bug修复,当修复完成后,再将他们各自的分支合并至master分支。
步骤:
1、转到新仓库hello-world页面,点击 Branch:master下拉键,为新分支命名一个分支名,如feature;
2、点击Create branch,如下图。
这样你现在就拥有两条分支了,master分支和feature分支。这两条分支暂时看起来没有区别,但接下来我们将会在新的分支里作出一些改动。
Step3.修改以及提交修改
好极了!你现在处于feature分支,它是master分支的一个拷贝,现在我们对它做些修改。
GitHub中
称
保存改动为
commits(提交)。每一次提交都有与之相关的提交信息,这些信息用来解释为什么做了相关的改动,以及记录了进行改动的历史,以便其他人能够理解你做了什么改动以及为什么作出这些改动。
步骤:
1、点击 READEME.md 文件,点击右上角的铅笔图标(
Edit this file)进行编辑;
2、在该编辑器中,写一些有关你自己的信息以及描述你做的相关改动的提交信息;
3、点击
Commit changes 按钮。
这些改动只针对你的feature分支里的READEME文件,此时feature分支里的内容就和master分支有所不同。
Step4. 进行上拉请求(Pull Request)
在feature分支(从master分支分离出来的任意分支)里进行改动以后,你就可以进行一个上拉请求。
Pull Requests是GitHub能够进行(
代码工程)协作的核心。当你进行一个pull request时,表明你正在提交你的改动并发出请求,让某个人(一般为工程的管理员)检查你所做的改动并将其与他们的分支合并。Pull request展现了两个分支内容之间的不同之处,所做改动如添加、去除分别用绿色和红色表示。
一旦你进行了一次提交,即使代码还未完成,你就可以打开一个pull request并开始一次discussion。
通过在pull request message里使用GitHub's@mention system,不管你身在何处,你都可以寻求来自特定的人或团队的反馈。
你甚至可以在你自己的仓库(repository)中打开pull request并将其与你自己合并。这将是在你接触更大的工程之前学习GitHub流程一个非常好的方法。
步骤:
1、点击 Pull Request,转入页面后点击右上角绿色按钮New pull request;
2、在跳出的Example Comparisons小页面中选择你做出改动的分支(此教程中为feature分支),和master分支(原始分支)进行比较;
3、在新的比较页面中查看所显示出的改动,确认这些改动是你想提交的,确认后点击绿色按钮
Create Pull Request;
4、对此次Pull request起个名字并做一个简短的描述,完成后点击
Create pull request.
Step5. 合并你的上拉请求(Pull Request)
最后这一步是将你所做的改动和原来的分支连接在一起,即,将feature分支(从master分支分离出来的分支,此教程中为feature分支)
合并至master分支。
步骤:
1、点击绿色按钮
Merge pull request,将你所做的改动合并至master分支;
2、点击
Confirm merge(确认合并);
3、合并完成之后你所做的改动将被包含至master分支里,点击
Delete branch按钮,删除此分支(从master分支里分离出的分支,此教程为feature分支)。
恭喜!
通过完成此教程,你就学会了如何去创建一个工程以及如何在GitHub上进行一个上拉请求(
pull request)!
以下是你在本教程中所完成的任务:
- 创建了一个开源仓库;
- 建立并管理了一个新的分支;
- 对某一个文件进行了改动并在GitHub中提交了这些改动;
- 进行并合并了一次上拉请求(pull request)。
在GitHub中点击“Your profile”,可以看到你的所有contribution活动。