Git拉取请求:Git pull Request

这篇具有很好参考价值的文章主要介绍了Git拉取请求:Git pull Request。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

git 拉取请求,Git指南,git

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

先决条件

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

一些最常见的 git 命令是:

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

什么是分行?

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

git 拉取请求,Git指南,git

了解更多:

  • Git 中的分支
  • 创建分支机构
  • 删除分支(本地和远程)

什么是拉取请求?

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

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

git 拉取请求,Git指南,git

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

git 拉取请求,Git指南,git

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

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

如何使用 Pull?

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

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

git 拉取请求,Git指南,git

您只需使用 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 拉取请求,Git指南,git

git 拉取请求,Git指南,git

创建分支

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

git branch _branch_name>

git 拉取请求,Git指南,git

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

git branch feature

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

切换到分支

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

git checkout <branch_name_on_which_you_want_to_switch>

git 拉取请求,Git指南,git

 我们将写:

git checkout feature

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

提交更改

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

git 拉取请求,Git指南,git

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

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

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

打开拉取请求

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

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

git 拉取请求,Git指南,git

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

git 拉取请求,Git指南,git

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

git 拉取请求,Git指南,git

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

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

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

合并拉取请求

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

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

git 拉取请求,Git指南,git

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

git 拉取请求,Git指南,git

更新本地设置

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

git checkout master

git 拉取请求,Git指南,git

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

git pull

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

git branch -d <name_of_branch>

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

git branch -d feature

这些是创建分支和打开拉取请求时需要了解的基本步骤。文章来源地址https://www.toymoban.com/news/detail-793607.html

结论

  • 拉取请求是 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 存储库。

到了这里,关于Git拉取请求:Git pull Request的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (已解决) 使用git pull命令拉取别人的代码后,本地代码消失不见的问题

    今天在写项目的时候,我在写完后习惯性的把本地代码提交到远程仓库,提交前需要先pull一下。 以往pull几乎没遇到过什么问题,而这次pull完以后我发现花了一晚上写的组件居然没有了!!心急如焚的我立刻上网寻找解决方法,好在最后终于解决了问题,长吁一口气 下面把

    2024年04月15日
    浏览(66)
  • 【Git】本地仓库管理远程库(GitHub)——clone(下载)、commit(添加到本地仓库)、push(提交到远程仓库)、pull(拉取)操作

    目录 使用远程仓库的目的 将本地仓库同步到git远程仓库 1.克隆远程仓库(clone) 2.新建一个文件 3.将工作区的文件添加到暂存区 4.将暂存区的文件添加到本地仓库(commit) 5.提交(同步)到远程仓库(push) 6.远程库拉取到本地库(pull) 7.团队协作开发和跨团队协作开发(开源项目) 作用:备

    2024年01月21日
    浏览(77)
  • 解决 Git 推送与拉取代码冲突和异常问题的完整指南

    Git 是现代软件开发中最受欢迎的版本控制工具之一,它可以帮助开发者管理代码并与其他人协作。然而,在使用 Git 进行推送和拉取代码时,有时候会遇到一些冲突和异常问题,这会影响开发者的工作效率和代码质量。因此,本文将介绍 Git 中常见的推送和拉取代码冲突/异常

    2024年02月16日
    浏览(52)
  • IDEA工具避坑指南(十):git拉取java项目后,拉取后的工程目录下只有.git和.idea文件,没有src或java目录|拉取的maven工程不被识别为maven项目

    用以上标题,找不到合适方案,经过多篇帖子的阅读和反复尝试,遂有下文! 说明: 本机IDEA版本是2019,其他版可能略有差异。 从git上拉取项目后,目录结构如下,缺失想要的src目录 原因可能是多方面的,但是首先想到的应该是拉取工程本身就是这个目录结构。 此时就需要

    2024年02月04日
    浏览(101)
  • Git常见问题:git pull 和 git pull --rebase二者区别

    git pull 和 git pull --rebase 都是从远程仓库获取最新的更改并将其合并到本地分支。但它们之间的区别在于合并方式。以下是它们之间的主要区别: git pull: 当你执行 git pull 时,Git 会执行以下两个操作: git fetch:从远程仓库获取最新的更改,将其存储在一个临时的分支上(通

    2024年02月09日
    浏览(50)
  • git常见问题 — git pull时提示 git pull <remote> <branch>

    git pull的时候提示git pull 说明,当前的分支并没有和本地分支关联,根据提示进行下一步: 1.将指定当前工作目录工作分支,跟远程的仓库分支之间进行关联 2.再次拉取代码

    2024年02月11日
    浏览(65)
  • git pull 时 配置适合自己的合并策略 git config pull.rebase

    当 git pull 时有可能遇到以下的提示 1. 默认合并策略(git config pull.rebase false) 前提条件: 本地分支上有一系列提交(git commit),远程分支上也有一系列提交。 后续变化: 执行 git pull 后,Git 会创建一个新的合并提交,将本地分支和远程分支的更改合并在一起。 优点: 直观易

    2024年01月15日
    浏览(40)
  • 【Git】Git 操作命令可视化(五):git clone、git fetch、git pull、git push、git pull --rebase、解决远程仓库与本地仓库的代码冲突

    1. git clone main是本地的main分支,o(origin)/main是表示本地拉去下来的远程的main分支 o/main分支记录了远程仓库拉取时的分支状态 远程分支有一个特别的属性,在你切换到远程分支时,git会自动进入分离 HEAD 状态(这样做是因为git不想让你在本地就能直接进行修改远程仓库代码的

    2024年02月08日
    浏览(95)
  • git fetch - git merge - git pull 指令

    Incorporates changes from a remote repository into the current branch. In its default mode, git pull is shorthand for git fetch followed by git merge FETCH_HEAD . 在默认模式下, git pull 命令是 git fetch 和 git merge FETCH_HEAD 命令的组合, git pull = git fetch + git merge FETCH_HEAD ,将远程存储库中的更改合并到当前分支中。

    2024年02月05日
    浏览(46)
  • git clone与git pull区别

    从字面意思也可以理解,都是往下拉代码,git clone是克隆,git pull 是拉。 但是,也有区别: 从远程服务器克隆一个一模一样的版本库到本地, 复制的是整个版本库 ,叫做clone.(clone是将一个库复制到你的本地,是一个本地从无到有的过程) 从远程服务器获取到一个branch分支

    2024年02月10日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包