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

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


当前回答

我有一个奇怪的情况, 无论是git cleangit reset工作。 我必须将冲突文件从git index在每个未跟踪的文件中使用以下脚本 :

git rm [file]

那样我就能好好拉了

其他回答

所需经费:

  1. 本地音轨更改, 这样这里没有人会失去它们 。
  2. 使本地存储库与远程源存储库匹配 。

解决方案 :

  1. 堆叠本地变化 。
  2. 获取获取与 a 具有清洁联 联 年 月 日 月 日 月 月 日 月 月 日 月 月 月 日 月 月 日 月 月 日 月 月 月 日 月 月 日 月 月 月 日 月 的 月 月 月 日 月 月 日 月 的 月 月 月 月 日 月 月 月文件 文件目录目录目录目录忽略忽略. jutignore( )硬重置重置来源来源.

    git stash --include-untracked
    git fetch --all
    git clean -fdx
    git reset --hard origin/master
    

解决这一问题的另一种办法是,首先将任何未承诺的改动用git stash然后运行,然后运行

git pull --rebase=interactive -s recursive -X theirs

在互动的重新基础中,你可以改变你所有本地不想要的承诺drop,这将摆脱他们 并离开你 在远程分支的头部 而不引入合并承诺。

现在你可以跑了git stash apply如果你有 本地藏的改变 你想带回来。

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

git reset --hard HEAD
git pull

我读了所有的答案,但我正在寻找一个命令来做到这一点。这是我所做的。在.gitconfig中添加了一个Git 化名。

[alias]
      fp = "!f(){ git fetch ${1} ${2} && git reset --hard ${1}/${2};};f"

将命令运行为

git fp origin master

等于

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

我也有类似的问题,我不得不这么做

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