Git将“未更改”文件添加到舞台
Posted
技术标签:
【中文标题】Git将“未更改”文件添加到舞台【英文标题】:Git adding "unchanged" files to the stage 【发布时间】:2013-09-07 04:21:07 【问题描述】:对于我正在进行的项目,我想使用:
git add . -A
将一些文件添加到舞台。问题是 Git 认为这些文件与上次提交相比没有变化,因此它们被忽略了。但是,我亲自更改了文件,但 Git 仍然认为该文件未更改。
如何“强制”将该单个文件添加到我的存储库中?
【问题讨论】:
万一,文件被 gitignored 了。查看该文件是否有 .gitignore 文件和其中的条目。 不,文件类型不在我的 .gitignore 中。 有一个老问题:***.com/questions/9707562/…。你试过这些吗? 我的问题和他们的不同,当我删除或重命名文件时,Git 会识别,但我需要它始终具有相同的名称。我只是无法让 Git 添加我的文件,因为它认为文件没有改变。即使文件真的没有改变,Git 仍然应该让我添加它并最终提交它。 不,我认为它不会那样做。因为 git 提交是内容的哈希,如果当前更改哈希到与头部相同的哈希值,它会认为没有更改。 【参考方案1】:检查您的 .gitignore 文件,必须有一些与此文件匹配的模式,该模式将文件排除在暂存之外。
或者您可以使用git add . -f
强制添加这些文件。
【讨论】:
不,.gitignore
仅在文件被检测为未跟踪时才会影响文件 - 即,当它们尚未在存储库中时。一旦文件在存储库中,.gitignore
将不适用于它。【参考方案2】:
似乎为该文件设置了assume-unchanged
-bit。设置该位后,git 将不再查找该文件的更改。通过键入取消设置:
git update-index --no-assume-unchanged <file>
之后,git status
和 git add
应该会检测到更改的文件。
【讨论】:
以上是关于Git将“未更改”文件添加到舞台的主要内容,如果未能解决你的问题,请参考以下文章