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

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


当前回答

我已尝试了大部分我在这里能找到的东西,

工作是 Git 合并 -x 他们的工作

其他回答

我也有同样的问题 没人给我这个解决方案 但对我有用

我用下列方法解决了问题:

删除所有文件。 仅留下. git 目录。 git 重置 -- hard head git pull git push

现在起作用了

git restore file_to_override_from_remote

git pull

我所知道的是一个容易和不痛苦的方法:

$ git branch -m [branch_to_force_pull] tmp
$ git fetch
$ git checkout [branch_to_force_pull]
$ git branch -D tmp

就是这样!

这将删除所有未承诺的更改, 然后拉动 :

git reset --hard HEAD
git pull

i 使用此命令删除本地文件, 阻止我进行拉动/ 合并 。 但请注意! 运行 git 合并... 首先看看是否只有那些您真的想要删除的文件 。

git merge origin/master 2>&1 >/dev/null | grep ^[[:space:]] | sed s/^[[:space:]]//g | xargs -L1 rm

git 合并列表, 其中包括所有这些文件。 它们是由一些白色空间预设的 。 2 & gt; & 1 & gt; / dev/ null 将错误输出重定向为标准输出, 因此只能用 grep. grep {[: space: ]] 过滤带有文件名称的行 。 sed s/ {[ [: space: ]] / g trim 从一开始就是白色空间。 xargs - l1 rm 呼叫每个文件的rm, 将其删除 。

处理时要小心: 无论 git 合并输出, 以白色空格开始的每条线都会要求 rm 。