GitHub 官方有一套自己总结出来的最佳团队协作流程,这个就是GitHub Flow。官方给出了一个Hello World的案例教程,这个教程大家可以自行看看,咱们这次不讲这个。
因为这个教程中实现的方法是纯粹用网页来操作的,这个和大家平常使用的方式有一些不同。所以咱们就不按照官方的教程来学习了,而是来看看平常真实的操作流程。
Github Flow 的核心是Pull Request
,也就是拉取请求。简单的说,具体的实现是:
整个流程就完成了。大家可以看到,其实大致的操作,其实跟咱们上节课讲的分支操作,并没有太大的不同。主要的区别有两个:
知道了基础的概念后,咱们现在就来实战一下子。
这次我们,要给项目,新增一个用户可以参与讨论的功能。那么打开 GitHub 客户端,新建一个叫做 discuss 的分支。
接着,在当前分支中,新建一个叫做 discuss 的文件夹,新功能的所有代码,就都在这个模块中了。
文件夹中,再放入一个 comment.html 文件,里面加上
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1>评论区</h1>
<form action="">
<textarea name="body"></textarea>
</form>
</body>
</html>
现在这个功能,就马马虎虎开发了一个最基础的实现。然后我们来提交代码。commit 后,直接 push 上去。
GitHub 网站上,就会次出现大大的绿色按钮,没错,点这里就对了,这就是开一个 pull request
title 里,我们可以写上:讨论功能
comment 里,就写上:目前实现了评论框
然后点击,Create pull request,这样就创建好了一个 pull request 了。
你的队友,他们可以在这里参与你项目的讨论。例如我这里,可以写一个评论:留言需要添加用户名和头像。
他们还可以点击 open this in GitHub Desktop,将你这个分支的代码拉取到他们本地电脑上。他们可以检查你做的功能,如果有问题他们也可以在做出修改后,提交自己的代码上来。
当项目最终完成,并检查无误后,就点击
这样代码就合并到主分支中了。回到主分支中看一看,果然出现了 discuss 的相关代码了。
当一个 pull request 的分支,功能已经开发完成后,它也就没有存在的意义了,所以咱们就应该将 discuss 分支删除掉。
记得要勾上,将远程分支也删掉,然后点击 Delete。
现在回到 master 分支中,一看编辑器中,刚开发完成的 discuss 功能不见了,但是 GitHub 网站上的 master 分支中却存在。这是因为本地的 master 分支的版本,没有线上的新。线上不是刚刚才把代码合并进去吗?所以点一下 Fetch,再点一次 Pull 就好了。
已添加到喜欢了