美文网首页
尝试Pull Request--第6章学习笔记

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

作者: wangbu2 | 来源:发表于2017-09-13 19:52 被阅读0次

    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 仓库的维护

    将仓库更新至最新状态

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

    git clone git@github.com:自己的用户名/仓库名.git
    

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

    git remote add upstream git@github.com/原仓库所有者用户名/仓库名.git
    

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

    git fetch upstream
    
    git merge upstream/master
    

    相关文章

      网友评论

          本文标题:尝试Pull Request--第6章学习笔记

          本文链接:https://www.haomeiwen.com/subject/umplsxtx.html