本教程旨在培训GitHub的基本知识,包括存储库、分支、提交和拉取请求等概念。将创建一个自己的HelloWorld存储库,并熟悉GitHub的拉取请求工作流,这是协作开发和查看代码的常用方式。
一、先决条件
首先必须拥有一个GitHub帐户。有关详细信息,请参阅《GitHub创建账户》。无需具备编码能力、使用命令行的知识或安装Git的经验(Git是GitHub的版本控制软件)。
二、创建存储库
首先需要创建一个新的存储库。存储库类似于一个文件夹,它包含相关项目的文件,例如文档、图像、视频等。通常存储库还包含一个README文件,用于提供项目的相关信息。自述文件使用Markdown语言编写,这是一种易于阅读和编写的文本格式。我们将在之后的教程中学习Markdown语言。
使用GitHub创建存储库时,可以同时添加README文件。GitHub还提供其他常用选项,例如许可证文件,但目前不必选择这些。
存储库名称可定为“hello-world”,并用于存储灵感和资源,甚至与他人共享和讨论。
1、在任意页面的右上角,点击加号(+)图标,选择“新建存储库”。
2、在“存储库名称”框中输入”hello-world”。
3、在“说明”框中键入简短说明,例如:“此存储库用于练习GitHub流”。
4、选择存储库的可见性(公共或专用)。
5、勾选“添加README文件”选项。
6、单击“创建存储库”。
三、创建分支
通过分支功能,可以在同一存储库中拥有不同版本的代码。
默认情况下,存储库包含名为”main”的主分支,作为最终分支。可以从”main”创建新的分支。
在不影响主代码的情况向项目添加新功能时,创建分支非常有用。在不同分支上进行的工作不会显示在主分支中,直到合并为止。使用分支,可以进行试验和编辑,再将更改合并入主分支。
1、单击”hello-world”存储库的“代码”选项卡。
2、在文件列表上方,点击”main”下拉菜单。
3、在文本框中输入分支名称,例如”readme-edits”。
4、单击“创建分支:从main创建readme-edits”。
现在,已经创建了两个分支:”main”和”readme-edits”,这两个分支的内容是相同的。
四、进行和提交更改
在创建新分支时,GitHub会将重定向至”readme-edits”分支的代码页面。在这里,可以对存储库中的文件进行编辑,并保存更改。提交是对更改的保存,每个提交都需要一个提交消息,说明为什么进行了这些更改。
1、在”readme-edits”分支下,单击”README.md”文件。
2、点击编辑图标(铅笔图标)。
3、在编辑器中添加一些关于自己的信息。
4、在“提交更改”框中,编写描述更改的提交消息。
5、单击“提交更改”。
这些更改现在仅适用于”readme-edits”分支,使其包含了在”main”分支中没有的内容。
五、打开一个拉取请求
现在已经在”main”分支的基础上创建的分支中完成了更改,接下来可以打开一个拉取请求。
拉取请求是GitHub上协作的核心功能。打开拉取请求后,可以提议更改,要求其他人审查和合并贡献到他们的分支中。拉取请求将展示两个分支之间的差异,增减部分会以不同的颜色高亮显示。
只要有提交,就可以打开拉取请求并开始讨论,即使代码尚未完成也没有关系。
在这个步骤中,将在自己的存储库中打开拉取请求并自行合并。这是练习GitHub流程的一个良好方式,适合在处理大型项目之前使用。
1、单击”hello-world”存储库的“拉取请求”选项卡。
2、然后点击“新建拉取请求”。
3、在“示例比较”框中,选择创建的分支”readme-edits”,与”main”(原始分支)进行比较。
4、在比较页面中查看更改,确保它们正是想要提交的内容。会看到”README.md”文件的差异,红色的三行代表要删除的文本,绿色的三行则是新增的文本。
5、单击“创建拉取请求”。
接下来,为拉取请求指定一个标题,并写下对更改的简要说明。可以使用表情符号,以及拖放图像或GIF。
6、完成后,点击“创建拉取请求”。
六、合并拉取请求
在最后一步中,将把”readme-edits”分支的更改合并到”main”分支中。一旦合并拉取请求,”readme-edits”分支上的更改就会在”main”中生效。
有时拉取请求可能会引入与”main”上的现有代码冲突的更改。如果发生冲突,GitHub会提醒关于冲突代码的信息,并防止合并,直到冲突得到解决。可以进行冲突解决的提交,或者在拉取请求中与团队成员讨论冲突。
在本练习中,不会产生任何冲突,因此可以直接将分支合并到主分支。
1、在拉取请求底部,单击“合并拉取请求”,将更改合并到”main”中。
2、单击“确认合并”。将看到一条消息,通知拉取请求已成功合并并已关闭。
3、最后,单击“删除分支”。现在,拉取请求已合并,并且更改已在”main”上。可以安全地删除”readme-edits”分支。如果需要对项目进行更多修改,可以随时创建一个新分支并重复此过程。
4、单击返回”hello-world”存储库的“代码”选项卡,以查看已发布的更改。