当前位置:   article > 正文

Git拉取请求:Git pull Request

git pull request

Git 是一个强大的版本控制系统,它彻底改变了团队在软件项目上的协作方式。从本质上讲,Git 拉取请求是一项关键功能,使开发人员能够对存储库提出更改建议。它促进了代码审查、讨论和集成,确保贡献有效地合并到项目的主代码库中。这个简短的指南介绍了创建和管理拉取请求的基本知识,这对于为项目做出贡献至关重要,尤其是在开源社区中。学习如何驾驭这个过程,加强协作和项目开发。

先决条件

在了解 git 拉取请求功能之前,我们先了解一下 git 中的一些基本命令及其用法。因此,正如我们所知,Git 是使用最广泛的免费和开源分布式版本控制系统,用于有效地处理小型到超大型项目。它用于跟踪不同团队和修订级别的源代码和项目的更改。Git 使多个开发人员能够在非线性并行开发的基础上协同工作。

一些最常见的 git 命令是:

命令功能
git 初始化用于创建本地新的 git 存储库
git 添加用于将未跟踪的文件添加到暂存区域
git 提交用于将暂存更改提交到远程 git 存储库
Git 状态用于显示工作目录和暂存区域的当前状态
git push origin master用于将提交的更改推送到远程存储库的 main/master 分支。

什么是分行?

分支是 git 中的一项功能,有助于提供独立的开发路线并鼓励并行贡献。

了解更多:

什么是拉取请求?

拉取请求是 git 中的一项功能,允许您为某人的 git 存储库做出贡献。当您创建拉取请求时,它会通知维护者查看要合并到其存储库中的代码。假设您正在开发任何功能,并且在完成该功能后,您将通过提出拉取请求来通知团队成员您所做的代码更改。拉取请求通知所有团队成员,应审查代码并将其合并到 master 分支中。git 的这一特性有助于改善协作、鼓励反馈和建立对代码更改的信心。

拉取请求使开发人员可以轻松地在任何项目上进行协作。这是要求项目维护者审查他们的工作的过程。然后,审阅者可以发表评论并提供相应更改代码的建议。在处理了作者的所有评论后,拉取请求获得批准后,更改将直接合并到主存储库中。

Git Pull Requests 提供了一个非常易于访问的 Web 界面,用于讨论代码审查请求。这是一个专门讨论建议功能的论坛。如果团队成员对更改有疑问,还可以在拉取请求上以评论的形式发布反馈,并跟踪改进功能的提交。所有这些活动都直接在拉取请求中跟踪。

因此,当你创建拉取请求时,你实际上是在要求另一个开发人员(如项目维护者或团队成员)将你的分支从你的存储库拉到他们的分支。这意味着您需要提供有关源存储库、源分支、目标存储库和目标分支的信息。

注意:在拉取请求中推送强制提交时要非常小心。此操作可能会更改存储库的历史记录并中断拉取请求。

如何使用 Pull?

在了解如何使用 git 中的 pull 之前,我们先了解一下 git pull 命令。

顾名思义,pull 允许您将更改从远程存储库推送到本地存储库。如您所知,Git push 命令将更改从本地存储库传输到远程存储库。拉动的工作方式与推取命令类似,但方向相反。它是 git fetch 和 merges 命令的组合。它首先从远程存储库获取更改,然后将它们与本地存储库合并。

您只需使用 git pull 命令即可拉取远程存储库。git pull 的语法如下:

git pull

这是默认的 git pull 方法。现在,如果你想从特定的远程分支获取更改,那么 git 也允许使用以下语法:

 git pull <url_of_remote_branch>

这与默认方法之间的唯一区别是,我们必须复制要拉取的特定分支的 URL。

现在,假设您要将更改从远程存储库拉取到本地存储库,但在拉取更改之前,您需要在本地更新任何文件,并且有人也会更新远程存储库中的这些文件。因此,当您尝试获取存储库时,它将产生冲突,并且不允许您提取这些更改。

因此,要强制拉取这些更改,可以使用 git 的强制拉取方法。它将丢弃本地存储库中的所有更改(它将首先要求您对此进行确认),并将用有影响力的拉取在远程存储库中所做的更改覆盖它。执行此操作的语法为:

git fetch -all

上述步骤只是获取所有远程存储库更改,而不合并更改或重新变基。现在,git reset 方法用于回滚本地 master 分支中所有冲突的更改,hard 选项用于使用远程存储库强制更新本地存储库中的所有文件。

git reset -hard master

拉取存储库的另一种非常常见的方法是使用以下命令:A

git pull origin master

在此命令中,origin 是远程存储库的位置,master 是存储库的主要默认分支名称。

现在我们知道什么是 git pull 以及如何使用它。让我们看看如何使用拉取请求:

若要创建和使用拉取请求,开发人员需要将分支推送到远程公共 Git 存储库。开发人员创建拉取请求,团队的其他成员根据反馈审查、讨论和更改代码。在获得所有审阅者的批准后,维护者将该功能添加到官方存储库并关闭拉取请求。

如何创建拉取请求

众所周知,在处理任何功能时,我们都会创建一个分支,切换到该分支,将更改添加到暂存区域,然后提交这些更改。这些步骤是我们针对每个更改遵循的一般步骤。今天,在本节中,我们将看到如何在获得拉取请求的批准后创建拉取请求并将更改合并到远程存储库中。我们将看到一个示例来详细了解这些步骤:

假设我们有一个名为 repo 的本地存储库,其中包含一个文件文件 .txt,其中包含一些内容,并且我们希望为这些更改创建一个拉取请求。这是相同的屏幕截图。

创建分支

现在,我们将打开存储库,并使用以下命令创建一个分支:

git branch _branch_name>

 在我们的例子中,我们将输入:

git branch feature

从上图中可以看出,最初我们只有 master 分支,然后我们创建了一个名为 feature 的新分支。但是,我们仍然在主分支上。因此,我们需要在下一步中签出到功能分支。

切换到分支

要使用以下命令切换到您刚刚创建的分支:

git checkout <branch_name_on_which_you_want_to_switch>

 我们将写:

git checkout feature

从上图中可以看出,我们已经成功切换到了新创建的分支。

提交更改

现在,您可以对文件进行一些更改并保存它。编辑文件后,我们可以将文件添加到暂存区域,并可以使用命令 git add <file_name> 将特定文件添加到暂存区域或 git add 提交更改。 将存储库中的所有文件添加到暂存区域。您可以使用 git commit -m “commit message” 来提交暂存的更改。

提交更改后,可以使用 git push --set-upstream origin 命令推送更改。在我们的例子中,它将是 git push --set-upstream origin 功能。

此命令用于首次将更改推送到分支时。因为这将有助于设置一次上游,然后你可以只使用 git push 命令。在这里,我使用 --set-upstream 标志在远程源上创建一个新功能分支。

提示:您可以在合并拉取请求时压缩提交,以清楚地了解更改。

打开拉取请求

现在你已经推送了你的更改,你可以打开一个拉取请求,以便存储库所有者(在这种情况下,你只是为了一个例子)可以看到你的工作,如果他们能找到它,那么他们可以将其合并到主分支中。

要打开它,请转到 GitHub.com 上存储库的主页。从分支菜单中,选择包含提交的分支。然后,您将在存储库顶部看到一个“拉取请求”选项,如下图所示。

单击此按钮将弹出一个弹出窗口来比较和拉取请求。发生这种情况是因为 GitHub 注意到了主分支中没有的新更改。它看起来像这样:

单击按钮后,将出现以下窗口。您可以在此处添加所做更改的详细说明。您还可以添加图像、文件和链接。这可以使用 Markdown 来完成。此信息将对审核您的拉取请求的人员可见。

在此论坛中进行更改后(您可以键入拉取请求的标题和描述以及要添加的任何附件),您可以在“创建拉取请求”按钮上提交。这将发送拉取请求,并将通知存储库所有者为他们提出的一些代码审查请求。

提交拉取请求后,可以编辑拉取请求说明。您还可以自由地进行其他更改并将其推送到同一分支。对该分支的所有提交都将添加到拉取请求中,所做的更改将反映在“已修改的文件”选项卡中。

验证更改后,可以将它们合并到主分支中。为此,请单击“合并拉取请求”选项,然后单击“确认合并”按钮。

合并拉取请求

验证更改后,您可以将它们合并到您的主分支中。单击“合并拉取请求”,然后单击“确认合并”。

如果您的拉取请求包含多个提交,请单击“合并”下拉菜单,选择“Squash 和 Merge”,然后单击“Squash and Merge”按钮将提交合并为单个提交,然后就可以合并了。

当您看到框确认语句时,您可以确认合并:

更新本地设置

尽管我们合并了 GitHub 上的分支,但这些更改并未在本地更新。您可以做的是使用以下命令恢复到本地 master 分支:

git checkout master

 然后,我们可以使用以下命令从 GitHub 中提取更改:

git pull

现在,由于更改已从功能分支合并,因此我们可以使用以下命令自由删除该分支:

git branch -d <name_of_branch>

在我们的例子中,它将是:

git branch -d feature

这些是创建分支和打开拉取请求时需要了解的基本步骤。

结论

  • 拉取请求是 git 中的一项功能,可帮助您通过分支通知其他人您对存储库所做的更改,并且它允许您要求 Git 存储库的维护者查看他们想要合并到项目中的代码。
  • Git 是使用最广泛的免费开源分布式版本控制系统,用于高效处理小型到超大型项目。它用于跟踪不同团队和修订级别的源代码和项目的更改。
  • git 中的分支允许你偏离主分支,并继续以隔离的方式工作,而不会弄乱主分支。
  • 要在 git 中创建分支,我们可以使用命令 git branch <new_branch_name>。
  • 要在存储库的不同分支之间切换,我们可以使用命令 git checkout <branch_name>
  • Git 拉取请求,以提供一个非常方便且易于访问的 Web 界面,用于讨论和提出代码审查请求。
  • Git pull 允许您将更改从远程存储库获取到本地存储库。
  • 您只需使用 git pull 命令即可拉取远程存储库。要从特定的远程分支获取更改,可以使用 git pull <url_of_remote_branch> 命令。
  • 为了避免在拉取时本地和远程存储库发生冲突,git hard reset 方法用于删除导致冲突的本地 master 分支的所有更改,并且 hard 选项用于强制更改(顾名思义)具有远程存储库的本地存储库中的所有文件。
  • git pull origin master 命令用于拉取存储库,其中 origin 是远程存储库的位置,master 是存储库的主要默认分支名称。
  • 您可以使用命令 git branch -d 从本地删除分支<branch_name>
  • git add .用于将未跟踪的文件添加到暂存区域,git commit 命令用于将暂存更改提交到远程 Git 存储库。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/656814
推荐阅读
相关标签
  

闽ICP备14008679号