Hello World 是计算机程序设计中历史悠久的传统,通过个简单的练习,我们开始学习新的东西。 现在让我们沿袭传统,从Hello World 开始,学习使用GitHub!
在这篇文章中,你将学习到如下的内容:
- 创建并使用代码仓库(repository)
- 启动并管理一个新的分支(branch)
- 更改文件并将其推送(push)到GitHub作为提交(commit)
发起提取请求(pull request)并合并提取请求(pull request)中的更改
此处将pull request 翻译为提取请求是我根据对GitHub的理解进行的意译,如果要改好的翻译方法,还请告知。
GitHub是啥?
GitHub是用于版本控制和协作的代码托管平台。 它可以让您和任何地方的人一起工作。本教程传授您GitHub的关键概念,如分支(branch),提交(commit)和提取请求(pull request)。 您将创建自己的Hello World代码存储库,并学习GitHub的Pull Request工作流程,这是一种流行的创建和查看代码的方式。
无需编码
要完成本教程,您需要有一个GitHub.com帐户和一台能够访问Internet的计算机终端。 您可以不知道如何编写代码,会使用Git的命令行或安装Git即可(GitHub所基于的版本控制软件)。
提示:在单独的浏览器窗口(或选项卡)中打开本指南,这样你就可以在按照本教程中的步骤操作时,同时也可以看到该指南。
第一步:创建一个存储库(repository)
通常使用存储库(repository)来组织单个项目(project)。 存储库可以包含项目需要的任何内容,比如文件夹和文件,图像,视频,电子表格和数据集。我们建议您添加一个README文件或一个描述项目信息的文件。 在创建新的存储库的同时,GitHub可以轻松添加这些文件。 它还提供其他常见选项,如许可证文件。
您可以在您的hello-world存储库中存放您的想法,灵感,资源,甚至与他人分享和讨论事物。
创建一个新的存储库(repository)的步骤
- 在右上角,您的头像或识别符旁边,单击+,然后选择新建存储库。
- 将你的存储库命名为 hello-world.
- 书写描述该存储库的信息
- 选择 Initialize this repository with a README.
单击 Create repository. 至此,你已经成功创建了一个存储库.
第二步:创建一个分支(branch)
分支(branch)是git中的重要概念,它是在不同版本的存储库(repository)上进行工作的一种方式。
默认情况下,您的存储库有一个名为master的分支,正如master的本意一样,这个master分支被认为是主分支,其他的分支是在该分支上衍生出来的。 接下来我们将讲解如何从主分支上创建一个分支,并在这个新的分支中做一些修改,然后把这些修改(commit)提交到master分支。
从主分支创建一个新分支,实际上git创建的是该时刻的master分支的副本(copy)或快照(snapshot)。当您在你的分支中工作期间, 如果有人对主分支进行了更该,那么您可以把别人提交更改更新(或同步)到你的分支中。
如下图所示:
- master分支
- 一个新的分支叫“feature”(注释:feature的意思是功能,把这个新分支命名为feature的原因是我们将要在这个分支上实现新的功能)
- 下图就展示了feature分支从创建到它被合并到master分支所经历的流程
图片可能不是很清晰,读者可以放大了进行观看,在图片中还有一些其他内容,这些内容在后面会进行阐述。
不知读者是否有保存不同版本的文件的经历? 就像下面展示的这样:
- story.txt
- story-joe-edit.txt
- story-joe-edit-reviewed.txt
我们可以进行这样的类比,story.txt为主分支,story-joe-edit.txt和story-joe-edit-reviewed.txt是基于主分支story.txt而创建的分支,我们在分支文件story-joe-edit.txt和story-joe-edit-reviewed.txt中进行了一些更改,然后把这些更改同步到主分支文件story.txt中。
依次类推,在git中,通过分支(branch) 所实现的是对GitHub存储库(GitHub repositories) 的版本控制,目标是和上述列举的例子是一致的。
在GitHub这里,我们的开发人员(developer),设计人员(designer)使用分支机制来创建缺陷(bug)修复分支,新功能开发分支,这样就能够保证缺陷(bug)修复,新功能开发与我们的主分支(生产)分开。 当在各个分支中的修改完成,并且通过测试,一切准备就绪后,就可以将这些分支合并到主分支中。
创建一个新分支(branch)的步骤:
- 切换到刚刚创建的存储库 hello-world.
- 点击在文件列表上方的下拉框 branch: master.
- 给分支命名,在文本框中输入 readme-edits
- 选择蓝色的Create branch框或在键盘上点击“Enter”
现在你有两个分支,master分支和和readme-edits分支。 他们看起来完全一样,但是接下来,我们将添加我们对新分支的更改。
第三步:更改文件并将更改提交
好样的! 现在,您正处于readme-edits分支的代码视图(code view),这是一个master分支的副本(copy)。 我们将对这个分支的一个文件进行一些编辑。
在GitHub上,保存的更改被称为提交(commit)。 每个提交(commit)都有一个相关的提交消息(commit message),该消息描述了为什么进行此更改。 通过这些提交消息(commit message),我们能够捕获到更改的历史记录,因此其他贡献者可以了解您所做的更改以及为什么。
更改文件并将更改提交的步骤
- 点击 README.md 文件.
- 点击文件视图(file view)右上角的铅笔图标,然后对README.md进行编辑。
- 在编辑器中,写一下关于文字
- 填写描述你的更改的提交消息(commit message)
- 点击Commit changes 按钮
以上操作更改的是readme-edits分支上的README文件,因此现在该分支所包含的文件就与master分支不同了。
第四步:发起提取请求(pull request)
现在您已经在readme-edits分支上进行了更改,您可以发起提取请求(pull request)。
提取请求(pull request)是GitHub中进行多人协作开发的核心。 当您发起一个提取请求(pull request)时,表示您执行了一些更改(或贡献),并请求某人审核并提取您更改(或贡献),并将其合并到他们的分支(包括主分支)中。 提取请求(pull request)显示来自两个分支的内容的差异。
一旦提交修改,你就可以发起一个提取请求(pull request)并开始讨论,甚至在代码完成之前就可以发起。
通过在您的提取请求(pull request)信息中使用GitHub的@mention系统,您可以询问特定人员或团队,以得到他们的反馈,无论他们与你近在咫尺或远在天涯。
您甚至可以在自己的存储库中打开提取请求(pull request),并自行合并。 在开展大型项目之前,了解GitHub Flow是一个很好的方式。
发起提取请求的步骤:
操作步骤 | 操作截图 |
---|---|
单击提取请求(pull request)选项卡,然后从提取请求(pull request)页面,单击绿色的发起提取请求(open pull request)按钮。 | ![]() |
选择您成交的分支,readme-edits,与原分支(主分支)进行比较。 | ![]() |
比较两个版本之间的差异,确保它们是您要提交的。 | ![]() |
当您确信这些是您要提交的更改时,请点击大的绿色的Create Pull Request 按钮。 | ![]() |
给你的提取请求(pull request)写一个标题,并写一个简短的描述来说明你的更改。 | ![]() |
在完成最后一步后,单击Create pull request按钮!
第五步:合并提取请求(pull request)
这是最后一步,现在您就可以将更改合并到一起 ——将您的readme-edits分支中的更改合并到主分支中。
合并提取请求(pull request)步骤
- 单击绿色的Merge pull request按钮将更改合并到主分支。
- 单击Confirm merge按钮
- 现在可以将readme-edits分支删除了,因为它的更改已经被合并到主分支中了,单击紫色框中的Delete branch按钮进行删除
Celebrate!
至此,你已经完成了本教程,你已经学会了如何在GitHub上创建一个项目和发起提取请求(pull request)。
以下是你在这本教程中所收获到的:
- 创建并使用代码仓库(repository)
- 启动并管理一个新的分支(branch)
- 更改文件并将其推送(push)到GitHub作为提交(commit)
- 发起提取请求(pull request)并合并提取请求(pull request)中的更改
看看你的GitHub用户信息(profile),你会看到你的提交(或贡献)统计图!
要了解更多关于提取请求(pull request)功能的信息,我们建议您阅读“GitHub Flow Guide.”。 您也可以访问GitHub Explore并参与开源项目