尝试Pull Request--第6章学习笔记

Pull Request和Pull是两码事。

自己的仓库或者自己具有管理权限的仓库,可以直接clone,pull,修改,push;别人的仓库,必须先fork成自己的仓库,然后再clone,pull,修改,push,最后再pull request。

6.1 Pull Request的概要

Pull Request是自己修改源代码后,请求对方仓库采纳该修改时采取的一种行为。

6.2 发送 Pull Request前的准备

Branch

要养成创建特性分支之后再修改代码的好习惯

在GitHub上发送Pull Request时,一般都是发送特性分支。这样一来,Pull Request就拥有了更明确的特性(主题)。让对方了解自己修改代码的意图,有助于提高代码审查的效率。

查看clone出的仓库的分支

开头加了“remotes/origin/”的是GitHub端仓库的分支。

网站中显示的HTML位于/origin/gh-pages分支。虽然通常情况下最新版代码都位于master分支,但由于本次我们使用了GitHub Pages,所以最新代码位于gh-pages分支。

git branch -a
创建自己的特性分支

在clone出的仓库中,创建自己的特性分支,用于提交自己修改的代码。

git checkout -b branch-name
添加代码

在clone出的本地仓库中,添加自己的代码。

提交修改

用git diff命令查看修改是否已经正确进行。

git diff

确认修改后,提交至本地仓库。

git add file-name
git commit -m "My commit information"
创建远程分支

要从GitHub发送Pull Request,GitHub端的仓库中必须有一个包含了修改后代码的分支。现在就来创建本地work分支的相应远程分支。

git push origin branch-name

6.3 发送Pull Request

查看分支间的差别,点击Compare按钮查看。查看时,保证目标仓库及其分支在左边,自己的仓库及其分支在右边。这样发送Pull Request时,才是发送给目标仓库。

确认想要发送的Pull Request的内容差别无误后,请点击Create Pull Request。随后显示的表单用于填写请求对方采纳的评论。

确认没有问题后,点击Create Pull Request按钮。这样一来,Pull Request的目标仓库中就会新建Pull Request和Issue,同时该仓库的管理者会接到通知。

6.4 让Pull Request更加有效的方法

在开发过程中发送Pull Request进行讨论

在GitHub上,我们可以尽早创建Pull Request,从审查中获得反馈。只要在想发起讨论时发送Pull Request即可,不必等代码最终完成。

向发送过Pull Request的分支添加提交时,该提交会自动添加至已发送的Pull Request中。

另外要注意,不要在Pull Request中添加无关的修改。处理与主题无关的作业请另外创建分支。

明确标出“正在开发过程中”

为了防止开发到一半的Pull Request被误合并,一般都会在标题前加上“WIP”字样,表示仍在开发过程中。等所有功能都实现之后,再消去这个前缀。

WIP = Work In Progress

不进行Fork直接从分支发送Pull Request

一般来说,在GitHub上修改对方的代码时,需要先将仓库Fork到本地,然后再修改代码,发送Pull Request。

如果用户对该仓库有编辑权限,则可以直接创建分支,从分支发送Pull Request。团队开发时不妨为每一名成员赋予编辑权限,免去Fork仓库的麻烦。这样,成员在有需要时就可以创建自己的分支,然后直接向master分支等发送Pull Request。

6.5 仓库的维护

尝试Pull Request--第6章学习笔记_第1张图片
将仓库更新至最新状态

对目标仓库(原仓库),在GitHub上进行Fork,然后clone。

git clone [email protected]:自己的用户名/仓库名.git

给原仓库设置名称,例如upstream。

git remote add upstream [email protected]/原仓库所有者用户名/仓库名.git

获取最新数据。从远程仓库实际获取(fetch)最新源代码,与自己仓库的分支进行合并。

git fetch upstream

git merge upstream/master

你可能感兴趣的:(尝试Pull Request--第6章学习笔记)