如何强制“git pull”覆盖本地文件?

2023-05-16

问题描述:

如何强制覆盖 git pull 上的本地文件?我的本地存储库包含一个文件名与服务器上相同的文件。

错误:未跟踪的工作树文件“example.txt”将被合并覆盖

解决方案1:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

⚠ 重要提示:如果您有任何本地更改,它们将会丢失(如果它们被跟踪)。此外,无论是否使用 --hard 选项,任何未推送的本地提交都将丢失。[*]

如果您有任何 Git 未跟踪的文件(例如上传的用户内容),这些文件不会受到影响。

首先,运行 fetch 以将所有 origin/ 引用更新为最新:

git fetch --all

备份当前分支:

git branch backup-master

然后,您有两个选择:

git reset --hard origin/master

或者,如果您在其他分支上:

git reset --hard origin/

解释:

git fetch 从远程下载最新版本,而不尝试合并或变基任何内容。

然后 git reset 将主分支重置为您刚刚获取的内容。 --hard 选项更改工作树中的所有文件以匹配 origin/master 中的文件

维护当前的本地提交

[*]:值得注意的是,可以通过在重置之前从 master 创建一个分支来维护当前的本地提交:

git checkout master
git branch new-branch-to-save-current-commits
git fetch --all
git reset --hard origin/master

在此之后,所有旧的提交都将保存在 new-branch-to-save-current-commits 中。

未提交的更改

然而,未提交的更改(即使是分阶段的)将会丢失。确保存储并提交您需要的任何内容。为此,您可以运行以下命令:

git stash

然后重新应用这些未提交的更改:

git stash pop

小心!如果您有本地未推送的提交,这会将它们从您的分支中删除!此解决方案使存储库中未跟踪的文件保持完整,但会覆盖其他所有内容。

这是一个受欢迎的问题,所以我想澄清一下这里的顶级评论。我只是按照这个答案中的描述执行了命令,并没有删除所有本地文件。只有远程跟踪的文件被覆盖,而这里的每个本地文件都保持不变。

如果您从远程分支名称不同于“master”的 repo 中提取,请使用 git reset --hard origin/branch-name

鉴于对这个问题和答案的赞成票数量,我认为 git 应该包含像 git pull -f 这样的命令

可以使用 git reflog 恢复在硬重置之前未推送的提交,其中列出了所有提交,也包括那些没有基础的提交。在您使用 git gc 清理本地副本之前,一切都会丢失

解决方案2:

huntsbot.com提供全网独家一站式外包任务、远程工作、创意产品分享与订阅服务!

尝试这个:

git reset --hard HEAD
git pull

它应该做你想做的事。

我已经这样做了,并且一些不再在 repo 中的本地文件留在了磁盘上。

我不认为这是正确的。以上将执行合并,而不是覆盖问题中要求的:“如何强制 git 覆盖它们?”我没有答案,我目前正在寻找它.. 目前我使用要保留的代码切换到分支“git checkout BranchWithCodeToKeep”,然后执行“git branch -D BranchToOverwrite”,最后“git checkout -b BranchToOverwrite”。您现在将在分支 BranchToOverwrite 上获得来自 BranchWithCodeToKeep 的确切代码,而无需执行合并。

而不是使用 'git pull' 合并,尝试 git fetch --all 后跟 'git reset --hard origin/master'

是的,@lloydmoore 解决方案对我有用。可以做一个答案,而不仅仅是一个评论。

这会将当前更改重置为最后一个分支提交。然后 git pull 合并来自最新分支的更改。这正是我想要它做的......谢谢!

解决方案3:

huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入、分类等筛选,希望这些产品与实践经验能给您带来灵感。

警告:git clean 会删除您所有未跟踪的文件/目录且无法撤消。

有时只是 clean -f 无济于事。如果您有未跟踪的目录,还需要 -d 选项:

# WARNING: this can't be undone!

git reset --hard HEAD
git clean -f -d
git pull

警告:git clean 会删除您所有未跟踪的文件/目录且无法撤消。

考虑首先使用 -n (–dry-run) 标志。这将向您显示将被删除的内容而不实际删除任何内容:

git clean -n -f -d

示例输出:

Would remove untracked-file-1.txt
Would remove untracked-file-2.txt
Would remove untracked/folder
...

您可以为 git clean 提供更具体的路径参数,并避免删除不冲突的未跟踪文件。

我认为场景描述清楚地表明他并不想丢弃内容。相反,他想要的是停止 git 在覆盖文件时犹豫不决。 @Lauri,这不应该发生在你身上。不幸的是,人们似乎误读了场景描述的本质——请参阅我的建议。

最后。当 make clean 无法清理所有内容时, git clean -f -d 很方便。

@crizCraig 除非它们被添加到 .gitignore

@earthmeLon,为此您可能需要 git clean -dfx。 -x 忽略 .gitignore。通常,您的构建产品将位于 .gitignore 中。

解决方案4:

huntsbot.com高效搞钱,一站式跟进超10+任务平台外包需求

像刺猬一样,我认为答案很糟糕。但是尽管刺猬的回答可能会更好,但我认为它并没有它可以的那么优雅。我发现这样做的方法是使用带有定义策略的 fetch 和 merge。只要它们不是您尝试强制覆盖的文件之一,就应该这样做,以便保留您的本地更改。

首先提交您的更改

 git add *
 git commit -a -m "local file server commit message"

然后获取更改并在有冲突时覆盖

 git fetch origin master
 git merge -s recursive -X theirs origin/master

-X 是选项名称,theirs 是该选项的值。如果存在冲突,您选择使用 their 更改(另一个选项是 ours 更改)。

这是迄今为止我看到的最好的答案。我没有尝试过,但与其他答案不同,这不会尝试对所有未跟踪的文件进行核对,这很危险,原因很明显。

同上 - 这对我进行非常大的合并(GitHub 拉取请求)时对我有用,我只是想在我所拥有的基础上接受它。好答案!在我的例子中,最后两个命令是:1) get fetch other-repo; 2) git merge -s recursive -X theirs other-repo/master

这将覆盖与存储库文件而不是本地文件的任何冲突,对吗?

最佳答案。在我的案例中,接受度最高的答案让我心不在焉。我切换回本地主分支并运行 git merge -X theirs origin/master

我只是想让该死的 git 覆盖所有内容并闭嘴。毕竟我只是在我的工作电脑和一些树莓派系统之间使用它。渴望强制覆盖选项,至少对于项目负责人

解决方案5:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

而不是这样做:

git fetch --all
git reset --hard origin/master

我建议执行以下操作:

git fetch origin master
git reset --hard origin/master

如果您要重置到原始/主分支,则无需获取所有遥控器和分支,对吗?

您的答案正是您的代表所需要的。我必须问,这是否也会删除所有未跟踪的文件?

是的,我的大部分代表都来自这里 :) 这也将删除所有未跟踪的文件。就在两天前,我忘记并痛苦地想起了一些事情……

请参阅对此其他答案的评论:stackoverflow.com/a/8888015/2151700

这并没有删除我未跟踪的文件;这实际上是我所期望的。是否有理由对某些人而不是对其他人?

这正是我所需要的:覆盖远程中存在的未跟踪文件,并使其他所有内容保持不变。

解决方案6:

huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式

看起来最好的方法是先做:

git clean

要删除所有未跟踪的文件,然后继续使用通常的 git pull…

我尝试使用“git clean”来解决同样的问题,但没有解决。 git status 说“你的分支和'origin/master'已经分道扬镳,分别有 2 和 9 个不同的提交。”和 git pull 说的话类似于你上面所说的。

git clean 是一个相当生硬的工具,可能会丢弃很多你可能想要保留的东西。最好删除或重命名 git 抱怨的文件,直到拉取成功。

我认为这在一般情况下是行不通的。有没有办法通过强制 git pull 基本上完成 git clone 远程操作?

@mathick:git fetch origin && git reset --hard origin/master

git clean 是最佳答案吗?似乎删除文件不一定是 OP 想要的。他们要求“覆盖本地文件”而不是删除。

解决方案7:

huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式

Warning, doing this will permanently delete your files if you have any directory/* entries in your gitignore file.

有些答案似乎很糟糕。通过遵循 David Avsajanishvili 的建议,@Lauri 发生的事情很糟糕。

而是(git > v1.7.6):

git stash --include-untracked
git pull

稍后您可以清理存储历史记录。

手动,一个一个:

$ git stash list
stash@{0}: WIP on : ...
stash@{1}: WIP on : ...

$ git stash drop stash@{0}
$ git stash drop stash@{1}

残酷地,一次性:

$ git stash clear

当然,如果你想回到你隐藏的东西:

$ git stash list
...
$ git stash apply stash@{5}

不,我不这么认为。存储只是将未提交的文件移开。上面还移动(隐藏)git 不跟踪的文件。这可以防止已添加到远程的文件被拉下,这些文件还没有拉到你的机器上——但是你已经创建了(!)——被拉下。所有这些都不会破坏未提交的工作。希望这有意义吗?

如果您没有 1.7.6,您可以通过临时 git add-ing 整个存储库来模仿 --include-untracked,然后立即隐藏它。

我同意刺猬的观点。如果你在这里做流行的答案,你很可能会发现你无意中杀死了很多你不想失去的东西。

我还有其他未跟踪的文件——除了合并/拉取想要覆盖的文件,所以这个解决方案效果最好。 git stash apply 带回了我所有未跟踪的文件,但(正确地)合并已创建的文件除外:“已经存在,不签出。”工作完美。

这是最干净的答案,应该是公认的答案。要节省一些输入,您可以使用缩写形式:git stash -u。

解决方案8:

huntsbot.com高效搞钱,一站式跟进超10+任务平台外包需求

您可能会发现此命令有助于丢弃本地更改:

git checkout  -f

然后进行清理(从工作树中删除未跟踪的文件):

git clean -f

如果要删除除未跟踪文件之外的未跟踪目录:

git clean -fd

我认为场景描述清楚地表明他并不想丢弃内容。相反,他想要的是停止 git 在覆盖文件时犹豫不决。看我的建议。

尽管该答案可能不完全符合描述,但它仍然使我免于 git 玩弄回车的挫败感(autocrlf 为 false 的事件)。当 git reset --hard HEAD 不会给您留下“没有”修改过的文件时,这些“-f”标志非常有用。谢谢一堆。

解决方案9:

HuntsBot周刊–不定时分享成功产品案例,学习他们如何成功建立自己的副业–huntsbot.com

不要与 git pull 合并,试试这个:

git fetch --all

其次是:

git reset --hard origin/master。

这在脚本中不起作用,因为您必须知道分支名称。以通用方式查看我的解决方案

解决方案10:

huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入、分类等筛选,希望这些产品与实践经验能给您带来灵感。

唯一对我有用的是:

git reset --hard HEAD~5

这将使您返回五个提交,然后

git pull

我通过查找 how to undo a Git merge 发现了这一点。

这最终对我有用,因为我强制将我的分支推送到原始存储库,并在尝试将其拉到我的远程存储库时不断遇到合并冲突。

嗨,实际上这是 work around 的一个技巧,但非常有效。因为一些冲突可能只发生在几次提交中,所以恢复 5 次提交将确保与远程代码没有冲突。

解决方案11:

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

所有这些解决方案的问题是它们要么太复杂,要么更大的问题是它们从网络服务器中删除了所有未跟踪的文件,这是我们不想要的,因为服务器上总是需要配置文件而不是在 Git 存储库中。

这是我们使用的最干净的解决方案:

# Fetch the newest code
git fetch

# Delete all files which are being added, so there
# are no conflicts with untracked files
for file in `git diff HEAD..origin/master --name-status | awk '/^A/ {print $2}'`
do
    rm -f -- "$file"
done

# Checkout all files which were locally modified
for file in `git diff --name-status | awk '/^[CDMRTUX]/ {print $2}'`
do
    git checkout -- "$file"
done

# Finally pull all the changes
# (you could merge as well e.g. 'merge origin/master')
git pull

第一个命令获取最新数据。

第二个命令检查是否有任何文件正在添加到存储库中,并从本地存储库中删除那些会导致冲突的未跟踪文件。

第三个命令检出所有在本地修改的文件。

最后,我们拉取更新到最新版本,但这次没有任何冲突,因为仓库中未跟踪的文件不再存在,并且所有本地修改的文件已经与仓库中的相同。

使用“git merge origin/master”作为最后一行(就像你在笔记中所说的那样)而不是“git pull”会更快,因为你已经从 git repo 中删除了任何更改。

是的,当然,git merge origin/master 会更快,甚至可能更安全。因为如果有人在删除此脚本的文件期间推送了新的更改(这不太可能发生,但可能发生),整个拉取可能会失败。我把 pull 放在那里的唯一原因是因为有人可能不在 master 分支上工作,而是在其他一些分支上工作,我希望脚本是通用的。

如果您有本地创建的文件(如选项文件),请将它们放在 .gitignore 中。

原文链接:https://www.huntsbot.com/qa/JAEY/how-do-i-force-git-pull-to-overwrite-local-files?lang=zh_CN

huntsbot.com提供全网独家一站式外包任务、远程工作、创意产品分享与订阅服务!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何强制“git pull”覆盖本地文件? 的相关文章

  • C++开发需要掌握哪些技能?

    一 语言基础 无论C 43 43 开发还是Java开发 xff0c 对于码农来说 xff0c 最重要的是熟悉编程语言 同理 xff0c 无论从事何种工作 xff0c 首当其冲的就是要掌握好语言基础 C 43 43 是一种博大精深的编程语言
  • 如何成为一个优秀的C++开发工程师?

    目前主流的后端开发语言有很多 xff0c 而C 43 43 开发语言 xff0c 就是其中的一种 xff0c 并且有很多人想要成为C 43 43 开发工程师 那么如何才能成为一名优秀的C 43 43 开发工程师 xff1f 掌握游戏开发之物
  • 深入了解C语言和C++哪个更难?

    众所周知C语言与C 43 43 都是主流的开发语言 xff0c 并且在大多数人看来C语言的学习难度要更难 xff0c 那事实是怎么样的呢 xff1f 接下来小编带你深入了解下C语言和C 43 43 哪个更难 xff1a 深入了解C语言和C
  • ffmpeg分析 之 如何解析mpegts流

    转 xff1a http blog chinaunix net uid 20364597 id 3530284 html ffmpeg分析 之 如何解析mpegts流 2013 03 19 11 02 40 分类 xff1a LINUX 数
  • 使用input上传图片并本地预览

    话不多说上代码 span class token operator lt span div id span class token operator 61 span span class token string 34 app 34 spa
  • 1、【STM32】学习初探(方法及准备)

    前言 由于个人原因已经有好长时间没搞了 xff0c 最近工作需要 xff0c 但是拿起32基本上都忘记差不多了 xff0c 接下来一段时间将急中学习一下STM32的基础知识 以前是学习的库函数版本 xff0c 有一定的基础 xff0c 因此
  • Pixhawk入门指南-目录

    文章转载自 xff1a http www ncnynl com archives 201701 1271 html APM PX4 Pixhawk入门指南 目录 介绍 xff1a APM xff08 ArduPilotMega xff09
  • 初学PX4之环境搭建

    文章转自 xff1a http www jianshu com p 36dac548106b 前言 前段时间linux崩溃了 xff0c 桌面进去后只有背景 xff0c 折腾好久没搞定 xff0c 为了节省时间索性重装了系统 xff0c 同
  • C++构造函数后面的冒号

    构造函数后加冒号是初始化表达式 xff1a 有四种情况下应该使用初始化表达式来初始化成员 xff1a 1 xff1a 初始化const成员 2 xff1a 初始化引用成员 3 xff1a 当调用基类的构造函数 xff0c 而它拥有一组参数时
  • 01python画的玫瑰

    刚开始学习python xff0c 还处于菜鸟阶段 xff0c 这段时间学习了turtle库 xff0c 纯手工画了一朵玫瑰 xff0c 拿出来与大家分享 xff01 源码地址 xff1a https github com YinZhong
  • 02turtle模块常用函数

    turtle模块函数
  • 04主存储器、BIOS和CMOS存储器

    主存储器 BIOS和CMOS存储器 一 PC AT机内存使用图 二 ROM BIOS 存放在ROM中的系统BIOS程序主要用于计算机开机时执行系统各部分的自检 xff0c 建立系统需要使用的各种配置表 xff0c 例如中断向量表 硬盘参数表
  • 06异常处理

    python的异常处理 python使用try except xff0c 可使程序不因为运行错误而崩溃 结构如下 xff1a try span class hljs tag lt span class hljs title body spa
  • 07turtle库的进阶使用

    turtle库的进阶使用 turtle库以屏幕中心为绘制原点利用代码绘制一棵树 span class hljs keyword import span turtle span class hljs string 34 34 34 plist
  • 结束,也是开始

    结束 xff0c 也是开始 序言 看到CSDN征文要求 xff0c 感觉非常适合自己 四年前的自己正在参加高考 xff0c 转眼四年过去了 xff0c 自己也即将步入社会 xff0c 四年的大学生活感慨颇多 xff0c 谨以此文作为自己的阶
  • 01策略模式

    策略模式 最近在看 Head First设计模式 这本书 xff0c 最大的感触就是 xff0c 原来写代码也是有 套路 的 xff0c 刚学了策略模式 xff0c 用C 43 43 实现了一下 xff0c 做个笔记 xff0c 备忘 xf
  • 1、STM32CubeMX和STM32Cube库(HAL)详细介绍

    目录 前言 STM32Cube生态 STM32Cube 是什么 xff1f STM32Cube 软件工具套件 STM32Cube Embedded 软件 STM32CubeMX 编辑 前言 也许大家在学习正点原子或者其他32视频和代码的时候
  • 安卓SATA自动挂载实例

    平台 xff1a IMX6 OS 安卓4 2和安卓4 4 查看挂载log信息 xff1a logcat s Vold MountService 手动挂载 xff1a mount t ntfs dev block mnt mount t v
  • linux驱动开发 - 12_platform 平台驱动模型

    文章目录 platform 平台驱动模型1 platform 总线platform匹配过程 2 platform 驱动platform 驱动框架如下所示 xff1a 3 platform 设备platform 设备信息框架如下所示 xff1
  • 多旋翼飞行器设计与控制(二):基本组成

    一 前言核心问题 二 总体介绍多旋翼系统内部布局 三 机架机身起落架涵道 四 动力系统概述螺旋桨电机电调电池 五 指挥控制系统遥控器和接收器自动驾驶仪地面站数传 一 前言 核心问题 xff08 1 xff09 多旋翼组成结构 机架动力系统控

随机推荐

  • 多旋翼飞行器设计与控制(三):机架设计

    一 布局设计机身基本布局旋翼的安装旋翼和机体半径 xff1a 尺寸和机动性关系 xff1a 重心位置 xff1a 自驾仪安装位置 xff1a 气动布局 xff1a 二 结构设计机体基本设计原则减振设计减噪设计 一 布局设计 机身基本布局 交
  • SLAM学习——使用ARUCO_marker进行AR投影

    一 简介 1 1 目标 增强现实技术 xff08 Augmented Reality xff0c 简称 AR xff09 xff0c 是一种实时地计算摄影机影像的位置及角度并加上相应图像 视频 3D模型的技术 xff0c 这种技术的目标是在
  • k8s安装Prometheus

    注 xff1a 必须要先搭建网页管理容器 xff1b k8s部署dashboard kali yao的博客 CSDN博客 1 Prometheus的概述 Prometheus是一个最初在SoundCloud上构建的开源监控系统 它现在是一个
  • Logstash完成ELK集群

    注 xff1a 本文与同步 9条消息 搭建Elasticsearch和kibana完成初步ELK日志分析平台搭建 kali yao的博客 CSDN博客 logstash搭建 1 logstash介绍 什么是logstash 是一个数据采集
  • SQL基本语句及用法

    目录 一 基本SQL语句用法及概述 1 常用MySQL命令 2 语法规范 3 SQL语句分类 二 数据查询语言 1 基础查询 1 xff09 查询的字段列表可以是字段 常量 表达式 函数等 2 xff09 使用别名 xff0c 字段名和别名
  • PyCharm 社区版 安装 教程(Windows)

    注 xff1a 如果已经安装过python 3 5 及以上版本的解释执行器则跳过此步骤 下载 PyCharm 社区版 软件 PyCharm windows 版本 安装包如下 Thank you for downloading PyCharm
  • 监控zabbix面试题

    目录 1 我们可以用zabbix监控哪些 2 zabbix的主动监控与被动监控 3 Zabbix监控做过哪些 4 zabbix监控mysql的四大性能指标 5 配置zabbix自定义监控流程 6 安全组是什么 xff0c 限制了3306的入
  • 【ros学习】12.ros启动gazebo时摄像头的发布进程被杀死,导致rqt_image_view无法显示画面

    ros启动gazebo时摄像头的发布进程被杀死 xff0c 导致rqt image view即使订阅了正确的话题也无法显示画面 原因是gazebo的版本过低 xff0c 与Rviz不兼容 ubuntu16 04匹配的ros版本是kineti
  • 系统运维面试题

    目录 1 什么是运维 什么是游戏运维 2 在工作中 xff0c 运维人员经常需要跟运营人员打交道 xff0c 请问运营人员是做什么工作的 xff1f 3 请描述下linux 系统的开机启动过程 4 为什么连接的时候是三次握手 xff0c 关
  • Xshell的使用

    本文修改于 xff1a 高效使用XSHELL 简书 jianshu com https www jianshu com p 67b83d3f2e40 一 XShell的概述 1 XSHELL是什么 Xshell是用于Windows平台的功能
  • linux下解压rar和7z压缩文件

    在windows下我们压缩解压文件通常后缀为rar xff0c 在linux下我们压缩解压文件通常后缀为tar 默认在linux下我们不能解压压缩rar文件 我们可以下载rarlinux安装包实现解压压缩后缀为rar的包 下载地址 xff1
  • Filebeat输出json格式的日志并指定message字段的值

    目录 1 开启json格式所需的字段概述 2 配置示例 3 如果问题没有解决可点击官网 1 开启json格式所需的字段概述 filebeat配置input要有以下字段 json keys under root true json overw
  • Prometheus添加邮件告警和企业微信机器人告警

    我们将在 Prometheus 服务器上编写警报规则 xff0c 这些规则将使用我们收集的指标并在指定的阈值或标准上触发警报 xff0c 收到警报后 xff0c Alertmanager 会处理警报并根据其标签进行路由 一旦路径确定 xff
  • 麒麟ARM64制作nginx,java,php,node基础镜像

    一 环境准备 1 网上搜底层镜像 麒麟容器基础镜像 xff1a docker search kylin 镜像准备 docker pull kylin 注 xff1a 最好自己制作底层镜像 2 自己做底层镜像 注 xff1a 做镜像时需要在麒
  • docker部署简易Prometheus

    注 xff1a 部署前可以先系统的学习一下 xff1a Introduction Prometheus中文技术文档 在之后需要书写自定义告警的 xff0c 需要在学习一下PromQL语言 xff0c 一般网上也能搜到 xff0c 可以在安装
  • k8s面试题-进阶

    1 简述etcd及其特点 etcd是CoreOS团队发起的开源项目 xff0c 是一个管理配置信息和服务发现 xff08 service discovery xff09 的项目 xff0c 它的目标是构建一个高可用的分布式键值 xff08
  • 制作Alpine Linux镜像报错errors: 15 distinct packages available

    1 执行报错 执行docker build t 镜像 版本 f Dockerfile 报错 xff1a 2 查看网上的解决思路 网上文档解决思路 xff1a 这边我做了一下改变把这些写入了dockerfile 加了几个RUN RUN rm
  • C++ class与struct的区别

    在C语言中 xff0c struct是作为数据类型存在的 xff0c 因此其中只能包含变量 xff0c 不可以包含函数 xff0c 结构相对简单 而C 43 43 采用OOP编程思想 xff0c 为struct扩充了很多属性 xff0c 使
  • 【ros学习】13.URDF机器人建模详解

    一 URDF简介 URDF xff08 Unified Robot Description Format xff09 统一机器人描述格式 xff0c URDF使用XML格式描述机器人文件 URDF语法规范 xff0c 参考链接 xff1a
  • 如何强制“git pull”覆盖本地文件?

    问题描述 xff1a 如何强制覆盖 git pull 上的本地文件 xff1f 我的本地存储库包含一个文件名与服务器上相同的文件 错误 xff1a 未跟踪的工作树文件 example txt 将被合并覆盖 解决方案1 huntsbot co