git说文件“需要更新”是什么意思?

我不能在我的生活中find对git有时会吐出的“[file]:needs update”消息的任何正确的解释。 即使是官方的git常见问题解答这标记为TODO。 如果有人能解释A)这意味着什么; 和B)如何解决它,我将非常感激。

这意味着你试图合并来自某个地方的更改,但是这些更改包括修改脏的文件(目前已在工作树中修改)。 您需要提交未完成的更改,或存储它们,拉取/重新绑定/合并/您正在更新的任何内容,以及

正如其他人所指出的那样, 需要更新消息意味着该文件是脏的 ,换句话说,是过时的。 但是不要做重置和重新开始,可以做的只是简单的git status ,然后git add <file> 如果它在更改列表上。 因为你之前可能已经添加了文件,但是之后改变了它。 这发生在我身上,用这个简单的add我已经解决了这个问题。

login到您的生产/目标服务器, cd到包含您的应用程序的目录并执行这两个命令。

1.重置为最新版本

警告,这将删除所有更改:

git reset --hard HEAD

2.拉动更改

git pull origin master

就像对其他问题的回答一样,这个信息仅仅意味着你有了突出的改变。 你也可以得到这个例如,如果你用git add做了一些改变,那么改变你的想法,并且git reset HEAD file

当底座进程对不在目标分支上的文件进行其他更改时,可能会发生此错误。

对我来说,棘手的部分是在我的回购.gitattributes文件。 新的二进制文件types被添加到另一个分支,但它的处理被强制为文本文件。 当通过git从repo下载文件时,EOL(实际上是二进制值字节)被replace – 导致二进制差异。

添加新的条目来处理新的文件types为二进制,并重试整个过程解决了我的问题。