简单的教程,使您的第一个PR(拉式请求)

好吧,我认为这是一个相当简短的教程,希望能有所作为;)。 我将在github上为您提供一个小型存储库,以便您可以同时发送PR,以便您可以练习如何执行下面将要介绍的所有步骤。 这是进行测试PR的链接:

https://github.com/CodeLabora/TuPrimerPR

好吧,让我们快速列出发送PR所需的步骤:

  1. 克隆
  2. 远程
  3. 分支机构
  4. 变化
  5. 地址
  6. 承诺
  7. PR

我将它们用英语放置,以便他们在git命令行上找到各自的选项。

叉子是您自己的Github存储库版本。 这使您可以克隆另一个项目的工作并将其保存在您的帐户中,以便您可以进行更改而不必担心丢失所做的更改。 要制作叉子,只需转到页面并单击右上部分的“叉子”按钮。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

完成派生后,您将看到存储库出现在您的帐户中。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

克隆

现在我们有了一个存储库,我们将其克隆到我们的团队。 (我假设使用Linux的人也会关注我,但是对于其他系统的用户,还有git版本,可以在其官方页面上下载。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

借助我们的终端,我们可以执行以下操作。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

有了这个,我们将有一个名为TuPrimerPR的新文件夹,我们的Github项目将在其中。 我们使用命令«cd TuPrimerPR»进入文件夹,我们将看到其中是我们fork中的文件。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

(请注意,文件的数量可能会随分叉时在我的存储库中找到的文件而有所不同)

远程

这是一个可选步骤,但在连续进行项目时避免了很多问题。 默认情况下,Fork会创建存储库的精确副本,但要在创建的确切时刻。 这意味着,如果项目继续进行,几天或几小时后,您的存储库就会落后。 “ Git remote”允许我们指定另一个下载点(原始项目),因此每次看到父项目正在更新时,都可以更新我们的项目。

要找到您的上级项目,您只需要使用存储库名称下方的链接即可。 (检查Fork部分的第二张图像)。 我们将在下面添加此信息:

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

这是原始项目(我们将其称为 上游 以跟上许多项目)。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

如您所见,我已经用»git remote add添加了遥控器»

这样,我们将能够在必要时更新项目,但是由于没有必要,因此我们现在将不使用它。 (我会根据需要在稍后或其他帖子中进行解释)

分支机构

分支(或多个分支)使您可以创建可在隔离环境中工作的代码段。 这意味着在使用“ git merge”之前,您在分支中执行的操作不一定会影响原始代码。 Github还提供了一项额外功能,每次创建分支时,Github都会在必要时自动生成“拉取请求”的来源。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

现在我们处于我们的特殊分支中,我们可以继续努力。

变化

我将添加几个文件,以便您可以看到它是如何完成的。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

“触摸”使我们可以创建一个空白文件(如果不存在)。 有了这个,我们可以继续下一步。

地址

»Git add»允许我们向提交中添加文件(我将在后面解释)。 要查看可以添加哪些文件,可以使用命令»git status»

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

有了这个,我们已经为提交做好了一切准备

承诺

提交是时间上的标记(或里程碑)。 它们为项目中的所有文件定义状态,并累积从项目开始到当前状态所需的更改。 听起来有些复杂,但是却很简单,只要记住它们是您项目的阶梯即可。 我们编写»git commit»,我们将获得一个窗口来编写我们的提交消息。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

在完成并保存文本后,我们将看到类似以下内容的内容:

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

显示提交内容的摘要。

通过推送,我们会将计算机上所有不在互联网上存储库中的提交上传到我们的Github帐户。 这将使Github自动生成新的PR。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

请注意,我们使用的是分支的名称,并且它要求我们提供用户名和密码。 最后,它向我们显示myImprovement分支已在我们的Github帐户中创建。 让我们看看我们在浏览器中所取得的成就。 😉

PR

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

如您所见,已经创建了一个新行,上面写着“ Compare&Pull request”。 Github的此功能使我们能够以简单的方式创建PR,我们将单击以查看发生了什么。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

Github非常聪明。 如您所见,部分提交已添加到表单中以进行提交。 只需单击按钮,然后单击🙂简单。

追求卓越

这是在项目的幕后,出现PR,经理决定是接受还是写更多消息。 就我而言,我会立即接受。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

合并完成后,他们将能够查看项目的提交日志并在其中看到其名称。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

但是现在我们有一个问题。 该提交未出现在 我们的 存储库,仅在项目中。 你还记得我们的遥远通道吗? 现在是时候还清🙂

我们回到主分支并执行以下操作:

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

这样,我们就将原始项目的所有信息下载到了我们的团队。 如您所见,我们的提交出现在这里。 现在,我们将所有这些工作保存在Github存储库中,以便能够删除具有已添加到项目中的贡献的分支。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

现在我们有了更新的Github存储库,我们将删除我们的分支,但是首先我们确保它位于我们的主分支(主)中

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

如您所见,我有一个小错误,这是因为当我要删除时,我在myImprovement分支中。 返回主分支可以解决此问题。

结论

做🙂就这么简单。 现在您已经掌握了Github发送公关的秘密,我期待着您在各种项目上的贡献。 而且,如果您愿意,可以将您的第一个PR留在我的资料库😉中以备记忆。

我还没有碰到一千零一千个Git的好处(OJO,而不是Github),正如您希望与内核社区有联系的开发人员所期望的那样,Git是一个非常强大的工具,具有数百个功能。

为了更好地了解它的功能以及Git的全部功能,我强烈建议您这样做 。 我敢肯定,它将大大改善您对git的处理。

问候,希望对您有帮助😉


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   克里斯蒂安(Cristian Abrazua)

    优秀的教程,希望您可以继续研究Git。 谢谢!

  2.   克里斯·阿德

    明确! 我将尽快添加更多有关此内容以及更多内容。

  3.   古斯塔沃。

    优秀

    1.    克里斯·阿德

      它对您有多好😉问候

  4.   四月

    我会尽快练习,非常感谢您,本教程是我寻找了很长时间但找不到的内容!

  5.   Ch3ss大师

    从基础上讲得很好,谢谢。 有空的时候我会改善captuas的。