在程序员的世界中,HelloWorld堪称历史悠久。它是我们学习一项新技术的敲门砖,那我们就在HelloWorld中开始GitHub征途的第一步吧^_^
GitHub是一个用于项目托管和协作的平台。你不需要再担心丢失硬盘上的数据或者跨平台管理项目,GitHub可以同步你的项目。另外,GitHub还可以提供协同、异步式的工作方式,使软件开发更加高效和团队化。
这篇指导文章将向你介绍GitHub的精华:Repositories, Branches, Commits, Issues 和 Pull Requests。
1. 创建一个仓库(Repository)
仓库是GitHub的基本单元,代表了一个单独的项目。仓库包含文件夹和文件,包括项目中需要的图片。在创建完成后,仓库中会自动生成一个项目描述文件—README,他还能够提供诸如license文件等。
具体步骤如下:
- 点击+按钮
- 为仓库起个名字(以HelloWorld为例)
- 为项目写一个简单的描述
- 勾选Initialize this repository with a README
2.开启一个提醒(Issue)
Issue的作用是记录下需要注意的问题,可以是一个bug,一个特性的需求,一个问题或者其他东西。在GitHub上,你可以给issue添加标签,可以搜索issue,这样使得项目的管理更容易。
目前我们创建的仓库太单调了,我们可以在README中添加更多的信息,让别人知道我们的进程。
开启Issue 的步骤:
- 点击isuue按钮
- 点击New Issue
- 给你的Issue起个名字,并且写一些描述
在点击提交Issue之后,这个issue就会有一个永久的URL。
3.创建一个分支Branch
Branching是一种协同工作方式,允许同时对仓库的不同部分进行处理。
在默认情况下,新建仓库的时候就会有一个分支(branch),这个主分支被命名为master。你可以一直只用这一个分支。当你(或者其他人)有新的想法,希望在原来版本上进行改动,就可以创建一个分支,在这个分支上操作不会影响主分支。
这就好像是有一个“story.txt”文件,张三李四都可以创建自己修改的副本,如”story-zhangsan-edit.txt”或者”story-lisi-edit.txt”。每当创建一个分支,其实就是对当前的主分支创建一个拷贝。如果主分支改变,从分支是能够获得这些更新的。
在GitHub中,主分支相当于产品,从分支相当于临时版本,这些临时版本可能有不同的特性,又或者是由于一些bug独立出来的。最后,当问题解决后,这些从分支可以合并到主分支中。
具体步骤:
- 在HelloWorld仓库管理界面下,点击branch:master下拉框;
- 填入一个新的分支名字,如readme-edits;
- 选择蓝色的Create Branch框,回车确定。
现在,我们有两个分支了,它们一模一样,接下来,我们要让它们变得不一样。
4.提交
在GitHub上,对修改的保存成为提交,这个过程总是愉快的。
每次提交都伴有一个提交日志,记录了你做了哪些修改以及为什么做这些修改。
现在,我们就在readme-edits分支上做一些修改吧。
提交修改的步骤:
- 点击README文件;
- 点击右上角的铅笔图标;
- 在打开的编辑框中写写吧
- 在底部的提交日志中填入修改的信息。
经过这个修改并且提交之后,readme-edits分支
与主分支就不一样啦.
5.开启Pull Request
Pull Request是GitHub中的关键功能。当你开启一个Pull Request时,这意味着你提出了自己的修改,并且让别人注意到你的修改。GitHub的Pull Request功能使你能够比较两个分支之间的不同之处,如果在基础版本上有所增加,就会用绿色标识,如果有所减少,就会用红色标示。
只要你做了更改,你都可以开启Pull Request,这方便让你与其他人讨论。
我们就拿刚才的README作为例子,开启一个Pull Request:
点击pull Request图标,跳转到Pull Request页面之后,点击绿色的New pull request按钮;
选择你创建的分支,readme-edits,和主分支master比较;
现在你可以在diffs(即different)中看到两个分支的不同之处了;
- 如果你对这些修改满意的话,就可以提交了,点击那个大大的绿色按钮Create Pull Request;
- 最后,你要给你的pull request添加一个标题,因为你要让别人知道你提供的这个修改版本有什么作用,比如你可以在标题中注明“fixes#1”来表示你是针对issue1进行的修改。同时,在下面你还需要提供一个描述。
完成, 现在点击Create pull request吧!
6. 把你的Pull Request合并起来吧
你现在可以把不同分支合并到主分支中去啦。
步骤如下:
到readme-edits分支下,进入Pull Request管理页面,选择想要合并的那个pull request,点击绿色的合并按钮,将修改合并到master中;
由于readme-edits分支已经合并到主分支中,那么这个从分支就可以删除了;
如果你想回顾你开启的issue,你会发现他已经被关闭了。因为你在pull request的标题中包含了fixes#1,GItHub就在你合并了那个pull request之后就自动关闭了那个issue。
7.恭喜
你已经学会了使用pull request了。
如果你想了解更多关于pull request的内容,我们推荐你阅读:GItHub Flow Guide
你还可以访问GitHub Explore查看更多开源项目。