在 Git 中强制拉取覆盖
Git 是当今最流行和要求最高的版本控制系统。Git 的用户界面类似于其他版本控制系统。我们可以登录、克隆仓库并进行提交。
但是,Git 具有一些显着的差异,使其比其他系统更复杂。
Git 是分布式的。每个用户都有自己的仓库,而不是所有仓库都存储在一个中央位置。每个人都必须连接到另一个仓库才能使用它。这有点烦人,但这也意味着我们可以在不同位置处理相同的文件。我们可以在多个地方处理同一个项目,并且更改是同步的。
我们在这里了解如何强制拉取当前工作本地分支中的所有更改。事实上,我们可能碰巧有一个旧的 git 仓库,它没有与具有最新更改的远程仓库同步,我们也可能有也可能没有远程最新提交,现在我们想要提取所有最新的远程更改,我们甚至都不关心当前仓库中的本地更改,那么对于这种情况该怎么办。此问题的解决方案如下。
在 Git 中强制拉取
通过命令 pull
的名称,我们可能认为我们可以在这里使用 git pull
命令,但这并不是在 Git 中使用 pull 命令的理想方式。因此,有两种方法可以处理这种情况,一种是删除当前本地仓库并再次克隆同一仓库,但缺点是我们丢失了当前仓库中已经存在的未跟踪文件。
首先,我们将执行 fetch --all
,如下所示。
git fetch --all
这里的命令 git fetch
将从远程下载最新的,而不合并或重新设置任何内容。然后,如上执行 fetch 后,如果我们在 master
分支上,我们将执行以下命令进行重置:
git reset --hard origin/master
通过执行上述命令 git reset
,它会将主分支重置为我们刚刚获取的内容,或者如果我们在任何其他分支上,我们将使用分支名称如下。
git reset --hard origin/<branch_name>
上面的 --hard
选项将更改我们工作树中的所有文件以匹配 origin/master
分支中的文件。
拉入 Git 时保持本地提交
如果我们想保留本地提交,我们必须在执行 reset
命令之前从我们所在的分支创建一个本地分支。
git checkout master
git branch new-backup-branch
git fetch --all
git reset --hard origin/master
上面提到的命令仅适用于知道自己在做什么的专家用户。警告是针对上述命令的:仅谨慎使用上述命令,并确保在应用它们之前知道它们的操作意味着什么!
拉入 Git 时保持本地更改
当我们执行 reset
命令时,未提交和暂存的更改都将丢失。那么在本地仓库中保留这些更改的解决方案是什么?
如果我们想保留这些更改,我们将在执行重置命令之前使用 stash
命令,并且在执行 pull
之后,我们可以在更改之上 pop
隐藏的更改。为此,我们将运行以下命令:
git stash
并且在完成重置和拉取之后,如果我们想重新应用这些隐藏的更改,这样,我们将再次在工作目录中获取我们的本地更改。我们将使用以下命令来取回我们的更改:
git stash pop
相关文章
如何在 Windows 系统中卸载 git
发布时间:2023/04/09 浏览次数:223 分类: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 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。