git pull不';“我无法识别它所包含的文件”;拉;

git pull不';“我无法识别它所包含的文件”;拉;,git,Git,在以前的项目中,我使用一个cron作业来运行“svn-up”,以使测试站点保持最新 我正试图在一个使用git的新项目中重现同样的情况 */5 * * * * cd /path/to/project; git checkout .; sudo -u nonrootuser git pull >/dev/null 2>> /path/to/project/cron.log; chgrp web . -R; 我添加了最初的git签出。看看我是否能解决这个问题,但它仍然存在。问题如

在以前的项目中,我使用一个cron作业来运行“svn-up”,以使测试站点保持最新

我正试图在一个使用git的新项目中重现同样的情况

*/5 * * * * cd /path/to/project; git checkout .;  sudo -u nonrootuser git pull >/dev/null 2>> /path/to/project/cron.log; chgrp web . -R;
我添加了最初的git签出。看看我是否能解决这个问题,但它仍然存在。问题如下,大约每周一次,我收到以下信息:

error: Your local changes to 'path/to/aFileThatDidntExistLocally.xxx' would be overwritten by merge.  Aborting. Please, commit your changes or stash them before you can merge.
但在pull命令之前,该文件实际上并不存在。这几乎就好像git pull命令正在获取文件,将它们暂存,然后好像被阿尔茨海默症击中,无法识别创建了文件,因此由于文件已经存在而中止

即使我删除了该文件,它也会再次发生。如果我对我的root用户运行一个简单的“git pull”,也会发生这种情况。而且它似乎是随机的,在过去的三周里,它发生在我身上大约三次。cron作业的其余时间按预期工作,每5分钟一次

我发现让它再次正确运行的唯一方法是运行“git clean-f”,但我不想把它放在我的cron作业中,因为它会删除我所有未跟踪的文件

我怀疑提交/推送,但我没有看到任何异常。发生了什么事,我如何能够持续更新我的测试站点,而不必每次都删除所有未跟踪的文件

(编辑)
下面是我的.gitignore和.git/config文件的副本:

您的git存储库的.git/config文件是否正常?(特别是如果有一个工作树路径条目)你的问题有点像他说的。你说文件不存在,git说存在。在这件事上,大多数法院都会站在git一边,但你为什么不先提供更多的细节,说明它到底是什么类型的文件引起了麻烦,它的名称等等,以及你使用git拉的是什么类型的软件呢?没什么意思,如果您在项目上工作,如果您在本地进行了一些冲突的更改,git拉入后台将始终产生此类错误。如果只是出于备份原因,你可以选择回购,然后选择git clean,或者最好使用裸回购。如果真的是你想要的,也许你可以尝试使用
git pull--rebase
。@JosefAssad当我告诉你我注册了文件-f,运行git status,它不在那里,然后pull和git说它已经在那里了?@buergi不,没有人接触测试站点。在那里,所有团队成员都可以查看每个人的最新推送更改。唯一的本地更改是写入被忽略文件夹的图像和缓存文件。