我正试图从远程分支中提取更改,但收到的错误没有意义
当我做的时候
git pull
我回来了
error: Your local changes to the following files would be overwritten by merge:
file/name/path
some/more/filenamepath
Please, commit your changes or stash them before you can merge.
Aborting
问题是我没有需要提交的更改
当我做
git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 7 different commits each, respectively.
#
nothing to commit (working directory clean)
there are no working changes
我已尝试git reset --hard HEAD
,但这没有帮助
任何想法?
文件位于NFS文件系统上,可能与文件系统有关。 这是在OSX上
由于
更新: 这个问题必须与NFS有关,因为当我去原始源并从那里做git pull一切正常,它修复了这个实例,但仍然不确定它为什么会导致NFS问题。
答案 0 :(得分:23)
我有同样的问题,fetch / rebase的答案对我不起作用。这就是我解决它的方法:
我删除了导致问题的文件,检查了它,然后成功拉出。
答案 1 :(得分:12)
git reset --hard
。那应该解决它。
答案 2 :(得分:6)
你应该:
那将是:
git checkout master
git fetch
git rebase origin/master
上述命令集的较短版本将是以下单个命令:
git pull --rebase
答案 3 :(得分:2)
有同样的问题。通过重新克隆回购解决方案解决了这个问题。但现在我认为原因是这些文件中的行结尾。我之前和他们一起玩过。
我认为行尾差异不会将文件标记为已更改,但可能会导致此消息。当你rm
文件并重新checkout
时,行结尾应该设置为“良好状态”,并且拉可以正常。
答案 4 :(得分:1)
我遇到了同样的问题,但是使用了.idea / vcs.xml和workspace.xml文件。我删除了2个文件,然后使用以下命令: -git pull“远程”“ brench”