• Pull Request


    ● 什么是 Pull Request

    首先我们来理解什么是 Pull Request A 。Pull Request 是自己修改源代码后,请求对方仓库采纳该修改时采取的一种行为。

    ● Fork


    各位请访问仓库页面,点击 Fork 按钮创建自己的仓库(图 6.2)。
    新建的仓库名为“自己的账户名 /first-pr”。在这里我们命名为
    hirocastest。

    ● clone

    clone 仓库所需的访问信息显示在右侧的中央部分,让我们将它复制下来,把这个仓库 clone 到当前的开发环境中。
    $ git clone git@github.com:hirocastest/first-pr.git
    Cloning into 'first-pr'...
    remote: Counting objects: 14, done.
    remote: Compressing objects: 100% (12/12), done.
    remote: Total 14 (delta 2), reused 0 (delta 0)
    Receiving objects: 100% (14/14), 24.05 KiB, done.
    Resolving deltas: 100% (2/2), done.
    $ cd first-pr

    ● branch 

    为何要在特性分支中进行作业
    当前 Git 的主流开发模式都会使用特性分支。关于特性分支的详细
    知识,我们已经在第 4 章讲解过了。
    各位请养成创建特性分支后再修改代码的好习惯。在 GitHub 上发
    送 Pull Request 时,一般都是发送特性分支。这样一来,Pull Request 就
    拥有了更明确的特性(主题)。让对方了解自己修改代码的意图,有助
    于提高代码审查的效率。

    确认分支


    我们来查看一下 clone 出的仓库的分支。
    $ git branch -a
    * gh-pages ←当前分支
    remotes/origin/HEAD -> origin/gh-pages
    remotes/origin/gh-pages

    创建特性分支

    我们创建一个名为 work 的分支,用来发送 Pull Request。这个 work
    分支就是这次的特性分支。现在创建 work 分支并自动切换。
    $ git checkout -b work gh-pages
    Switched to a new branch 'work'

    确认是否切换到了 work 分支下。

    $ git branch -a
    gh-pages
    * work ←当前分支
    remotes/origin/HEAD -> origin/gh-pages
    remotes/origin/gh-pages

    ● 添加代码


    用编辑器打开 index.html 文件,以 HTML 形式添加感想。
    省略
    <p>请写明这是对本书内容的实践或描述对本书的感想并发送Pull Request。</p>
    ↓追加的行
    <p class="impression"> 这本书读着很有趣。(@HIROCASTER)</p>
    省略
    请自由添加感想并用 p 标签(Tag)括起,然后关闭编辑器。

    ● 提交修改


    用 git diff命令查看修改是否已经正确进行。
    $ git diff
    diff --git a/index.html b/index.html
    index f2034b3..91b8ecb 100644
    --- a/index.html
    +++ b/index.html
    @@ -39,6 +39,8 @@
    <p>请写明这是对本书内容的实践或描述对本书的感想并发送Pull Request。</p>
    +<p class="impression"> 这本书读着很有趣。(@HIROCASTER)</p>

    ● 创建远程分支

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

    $ git push origin work
    Counting objects: 5, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 353 bytes, done.
    Total 3 (delta 2), reused 0 (delta 0)
    To git@github.com:hirocastest/first-pr.git
    * [new branch] work -> work

    请打开 GitHub 的“用户名 /first-pr”页,确认 work 分支是否被创
    建,以及是否已包含我们添加的代码。

    登录 GitHub 并切换至 work 分支。

    点击分支名左侧的
    绿色按钮,会跳转至查看分支间差别的页面(图 6.4)。请在这里通过差

    别查看刚刚进行的更改是否正确。这里显示的东西就是我们本次 Pull
    Request 中包含的提交

    确认想要发送的 Pull Request 的内容差别无误后,请点击 Create Pull Request。

    随后显示的表单用于填写请求对方采纳的评论(图 6.5)。现在

    让我们在评论栏中简明扼要地描述本次进行 Pull Request 的理由。

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

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

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

    这个方法也值得在 GitHub 上进行开发的团队借鉴。
    一般说来,在 GitHub 上修改对方的代码时,需要先将仓库 Fork 到
    本地,然后再修改代码,发送 Pull Request。但是,如果用户对该仓库有
    编辑权限,则可以直接创建分支,从分支发送 Pull Request。利用这一设
    计,团队开发时不妨为每一名成员赋予编辑权限,免去 Fork 仓库的麻
    烦。这样,成员在有需要时就可以创建自己的分支,然后直接向 master
    分支等发送 Pull Request。
    其实,这一方法已经被 GitHub 实际运用到开发之中
    A 。关于这一开
    发流程的具体内容将在第 9 章详细说明。

  • 相关阅读:
    bzoj 1087: [SCOI2005]互不侵犯King
    左偏树+菲波那切堆
    bzoj 4455: [Zjoi2016]小星星
    luogu P1941 飞扬的小鸟
    luogu P2814 家谱
    平衡树之非旋Treap
    luogu P3147 [USACO16OPEN]262144
    luogu P1854 花店橱窗布置
    计蒜客NOIP2018模拟1
    [BZOJ3456]城市规划(生成函数+多项式求逆+多项式求ln)
  • 原文地址:https://www.cnblogs.com/xyyhcn/p/11672453.html
Copyright © 2020-2023  润新知