迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 > Git >

Git 强制拉取

作者:迹忆客 最近更新:2023/03/31 浏览次数:

在本教程中,我们将学习如何在 Git 中强制从远程仓库中拉取更改。

有时,我们可能需要丢弃本地修改,并在协作开发环境中用远程仓库中的更新替换它们。

我们使用 git pull 命令从远程仓库中获取更改到本地仓库中的本地分支。

只有当本地分支中的更改落后于远程仓库中的更改时,git pull 命令才会成功。

如果本地分支和远程仓库的更改发生分歧,如果我们希望丢弃本地更改,我们需要强制执行 git pull 以覆盖本地更改,

我们现在将通过一个例子来详细说明这一点。


使用 git fetchgit resetgit merge 强制拉取 Git 中的远程更改

git pull 命令不是一个单一的操作。git pull 命令运行命令即。git fetch 从远程仓库中获取数据,然后命令 git merge 将这些更改合并到本地仓库中。

因此,git pull 命令按如下方式运行这两个命令。

$ git fetch
$ git merge origin/$CURRENT_BRANCH

git fetch 命令从远程仓库下载最新更改。它不会对本地仓库进行任何合并变基

上面给出的 git merge 命令合并来自远程仓库的更改,由别名 origin 给出,这些更改已添加到 $CURRENT_BRANCH,这些更改尚未出现在本地仓库的本地分支中。

因此,如果本地仓库中的本地分支与远程仓库中的分支不同,则 git pull 将失败。

我们可能对本地分支的工作树中的文件进行了一些本地更改。因此,这会导致 git pull 失败。

我们现在可能决定放弃本地更改以支持远程仓库中的更改。

因此,我们需要强行拉取将覆盖本地修改的更改。

我们需要执行以下操作来实现对远程更改的强制拉取。

$ git fetch
$ git reset --hard HEAD
$ git merge origin/$CURRENT_BRANCH

带有 --hard 选项的 git reset 命令会将分支重置为我们刚刚获取的内容。它还将丢弃对跟踪文件的任何本地更改,并且将删除未跟踪的文件。

因此,请谨慎使用,因为任何本地更改都将丢失。

或者,我们可以在拉取更改之前保存本地更改。我们可以使用 git stash 存储更改以及更改的拉取。

我们可以这样做。

$ git fetch
$ git stash
$ git merge origin/$CURRENT_BRANCH
$ git stash pop

因此,当我们使用 git stash 时,我们不再需要对本地仓库的本地分支执行 git reset

我们使用 git stash pop 从存储中获取本地更改。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Windows 系统中卸载 git

发布时间:2023/04/09 浏览次数:223 分类:Git

在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。

如何检查 Git 的版本

发布时间:2023/04/09 浏览次数:160 分类:Git

在这篇检查Git最新版本的文章中,我们将学习如何在本地个人计算机或任何服务器上检查Git版本。

Git 如何重命名本地分支

发布时间:2023/04/09 浏览次数:64 分类:Git

大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。

重命名 Git 存储库中的文件和目录

发布时间:2023/04/09 浏览次数:102 分类:Git

在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。

在 Git 中取消初始化存储库

发布时间:2023/04/09 浏览次数:187 分类:Git

本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。

Git 仓库名称该如何命名

发布时间:2023/04/09 浏览次数:208 分类:Git

使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。

配置 Git 以忽略文件模式更改

发布时间:2023/04/09 浏览次数:67 分类:Git

本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。

在 Git 中暂存已删除的文件

发布时间:2023/04/09 浏览次数:93 分类:Git

本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?

在 Git 中显示冲突文件

发布时间:2023/04/09 浏览次数:139 分类:Git

本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便