git无法识别新增文件 - git检测不到文件变化




看不到添加到我的git工作目录的新文件 (6)

Android Repo - 我遇到的同样问题 - 更正如下

不知怎的,我"/app" in .gitignore file添加了"/app" in .gitignore file 。 现在删除"/app"后就可以了。

请检查你的.gitignore。

git版本1.7.4.1

我在Ubuntu上使用git。

我已将一些文件从另一个目录复制到我的git工作目录。 通常会出现在Untracked files 。 但是,他们没有出现。 所以我不能添加它们。

当我执行git status ,不会显示新文件。

我尝试通过执行git add source.c添加它们然后尝试了git status 。 该文件未显示。

所以我打开文件并进行了相同名称的save as 。 git status仍然无法看到该文件。

我做了一个git ls-files ,新文件显示正常。

我检查了文件权限,它们与我的git目录中的所有当前文件相同。

我之前从未遇到过这个问题。

非常感谢任何建议,


删除.git / index文件就可以了。 当我将骨架模块克隆到我的zf2项目中时,我似乎接触到了相当令人沮丧的错误。


如果git ls-files显示source.c ,那么它必须已经在索引中。 这意味着它已被跟踪,并且可能已经提交。 如果source.c根本没有出现在git status中,那么该文件必须已经提交。

尝试修改文件以查看它是否在git status显示为已修改。 要真正说服自己该文件已签入,请运行git cat-file -p HEAD:source.c以查看签入文件的内容(有关HEAD:source.c语法的文档,请参阅git help revisions )。

此外,以下一项或多项可能属实:

  • 文件已被修改,但在索引中设置了'假设未更改'位。 看一下git ls-files -v source.c的输出。 如果第一列是小写字母,则设置“假定未更改”位。 这将防止任何更改显示在git status 。 您可以通过运行git update-index --no-assume-unchanged source.c来关闭'假设未更改'位。
  • 该文件已被修改,但在索引中设置了'skip-worktree'位。 如果git ls-files -v source.c的输出的第一列是sS则设置'skip-worktree'位。 您可以通过运行git update-index --no-skip-worktree source.c来关闭'skip-worktree'位。
  • 你的索引已损坏。 尝试删除.git/index (Git会根据需要重新创建它)。
  • 文件系统问题阻止stat()正常工作。 尝试运行git update-index --really-refresh 。 如果您的工作目录位于网络驱动器(NFS,sshfs等)上,请尝试将存储库移动到本地驱动器。

很难从给出的信息中分辨出什么是错误的,但是作为一种解决方法,您可以尝试使用git add -f filename.c 。 这将添加文件,即使它将被忽略。


我创建了一个以image.gen结尾的包,它有一个以image / gen结尾的相应目录。 并且有一个.gitignore条目,特定于Android gen /。

这导致文件没有被添加到git / git状态中显示。

检查下面,它帮助我解决了这个问题。

使用git check-ignore命令调试gitignore文件(排除文件)。

例如:

$ git check-ignore -v config.php
.gitignore:2:src    config.php

以上输出详细说明了每个给定路径名(包括行)的匹配模式(如果有)。

所以也许你的文件扩展名不会被忽略,而是整个目录。

返回的格式为:

<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>

或使用以下命令在user和repo文件夹中打印.gitignore

cat ~/.gitignore $(git rev-parse --show-toplevel)/.gitignore $(git rev-parse --show-toplevel)/.git/info/exclude

或者使用git add -f ,它允许添加否则被忽略的文件。

请参阅: man gitignoreman git-check-ignore以获取更多详细信息。

https://.com/a/28918909/4082503


我有同样的问题。 Git没有显示添加到我的项目中的任何新文件。

我是由以下原因引起的:不知何故,我的项目的主文件夹被添加到“特定于存储库的忽略列表”(这就是它在SourceTree中调用的内容)。 这是项目主文件夹根目录下的“.gitignore”文件。

删除“.gitignore”文件中的文件夹名称后,它工作正常。





git