git pull无法识别它“拉”的文件

时间:2012-08-13 15:15:09

标签: git

在以前的项目中,我曾经使用过“svn up”的cron作业来保持测试站点的最新状态。

我正在尝试在使用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 checkout。看看我是否可以解决这个问题,但它仍然存在。问题如下,大约每周一次,我收到这条消息:

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文件的副本:http://pastebin.com/SxXbshuN

0 个答案:

没有答案