Git 文件暂存内容与文件头不同
当我尝试使用Git 文件暂存内容与文件头不同,git,Git,当我尝试使用git rm--cached时,我收到以下错误: error: the following file has staged content different from both the file and the HEAD: 我知道我可以使用git rm--cached-f绕过这个错误。但是通常当我用git rm--cached解压文件时,我不会得到这个错误 我的问题是,文件的暂存内容与标题不同是什么意思?通常情况下,对于“暂存并修改”的项目,您会获得此状态,即:首先对其进行修改,
git rm--cached
时,我收到以下错误:
error: the following file has staged content different from both the file and the HEAD:
我知道我可以使用git rm--cached-f
绕过这个错误。但是通常当我用git rm--cached解压文件时,我不会得到这个错误
我的问题是,文件的暂存内容与标题不同是什么意思?通常情况下,对于“暂存并修改”的项目,您会获得此状态,即:首先对其进行修改,然后对其进行暂存,然后再对其进行修改
必须小心处理此状态,否则,如果您现在运行提交,将导致许多误解,因为只有暂存的更改才会提交(是的,即使在相同的文件上下文中,也只有暂存的更改才会提交),而没有暂存的更改将保留在非暂存区域以供将来提交(如果暂存).有三个地方值得区分:
- 在文件中
- 已接受作为下一次提交的一部分的文件中的更改,即所谓的阶段性更改
- 已提交的文件中的更改
编辑和提交文件时,只有前两个问题。在这两种状态中(未分级与分级)git status
显示您所做的更改类型。在您的终端中,运行:
首先提交您的更改
git rm——要取消跟踪的缓存文件名
则应忽略的内容将被忽略。(如果是文件夹,则在rm
之后添加-r
)
这意味着文件已更改,已移动到阶段状态,现在其内容与头部版本不同。添加包含另一个git Repository的文件夹后也会发生此错误。这很有意义。我已经将该文件添加到git中,并在暂存时对其进行了编辑。谢谢你的洞察力。