Git - 不会添加文件?

Mar*_*ore 69 git

我遇到了无法将文件添加到存储库的问题.

我在Windows上使用GIT,在Aptana Studio中进行一些Ruby开发.

我已经设法将一些文件推送到GitHub,但在此之后,一切都停止了.我的主目录中有一个新的子文件夹,里面有2个ruby文件.如果我调用"git add.",然后"git status",它会一直说"工作目录清理"并且没有任何提交.

我试过"git add folder/myfile.rb"但仍然没有.

有人知道我能尝试什么吗?

zri*_*her 124

我发现自己处于类似海报的情况:

如果我调用"git add.",然后"git status",它会一直说"工作目录清理"并且没有任何提交.

但我有一个不同于此处的解决方案.自从我第一次来到这里,我希望能够节省一些时间.

从上面的答案和我在其他地方看到的,这个问题的常见修复方法是:

  • 确保有问题的文件实际上已保存更改
  • 确保文件不符合您的排除规则.gitignore.git/info/exclude
  • 确保您没有尝试添加空文件夹.Git不会跟踪那些.标准解决方案是放置一个名为.gitkeep占位符的空白文件,以便git跟踪该文件夹.

在我的情况下,我最初试图围绕现有的仓库创建一个git仓库(不知道它在那里).我刚刚.git从这个子仓库中删除了该文件夹,但我没有意识到它已经太晚了,而且git已经将它作为一个子模块进行跟踪.你可以阅读更多关于如何将这些行为以及如何将它们去除这里,但

  • 我的解决方案就是简单地运行git rm --cached path_to_submodule.

  • 救命稻草!我只需要键入`git rm --cached name_of_former_submodule`并自动获取路径. (27认同)
  • 什么是子模块 (7认同)

ant*_*tfx 24

要为其他用户添加可能的解决方案:

确保您没有更改Windows中文件夹名称的大小写:

我有一个类似的问题,一个名为SetupGit控制并在GitHub上托管的文件夹,所有开发都是在Windows机器上完成的.

在某些时候,我将文件夹更改为setup(小写S).从那时起,当我将新文件添加到安装文件夹时,它们存储在setup文件夹而不是Setup文件夹中,但我想因为我在Windows机器上开发Setup,git/github中的现有文件夹未更改为setup.

结果是我无法看到setupGitHub 中的所有文件.我怀疑,如果我在*nix机器上克隆项目,我会看到两个文件夹,Setup并且setup.

因此,请确保您没有更改Windows计算机上包含文件夹的大小写,如果您有,那么我建议:

  • 将文件夹重命名为 setup-temp
  • git add -A
  • git commit -m "Whatever"
  • 将文件夹重命名为您想要的
  • git add -A
  • git commit -m "Whatever"

  • 这也发生在我的文件名上.使用git mv -f newFileCase oldFileCase将更正存储库 (6认同)

小智 19

如果文件被排除,.gitignore并且您想要添加它,则可以强制它:

git add -f path/to/file.ext
Run Code Online (Sandbox Code Playgroud)


spa*_*row 13

仔细检查您的.gitignore文件,以确保Git能够看到该文件.同样,有一个文件.git/info/exclude从项目中"排除"文件/目录,就像.gitignore文件一样.


Bra*_*rad 12

奇怪,但我整晚都用git来加入一个文件.原来它已经添加了.Git没有拿起我的更改,因为没有保存更改,因为我的帐户无法访问该文件,而且我的IDE没有通过SSH报告此情况.

简而言之,请检查以确保您没有将其添加到存储库中.

  • ...考虑到这一点,如果任何给定路径完全已经在存储库中,`git` 可以添加一条消息...这将至少为 13 个人节省几分钟的时间。 (3认同)

Chr*_* G. 8

最好的办法是复制你的文件夹.删除原始.从github克隆项目,将新文件复制到新的克隆文件夹,然后再试一次.


gao*_*ong 8

我刚遇到这个问题,问题是我在一个目录中,而不是顶级.一旦我搬到顶层,它就有效了.

  • 我确信我可以使用 `git add ..` 或任何需要达到我的更改存在的级别并且它也可以工作的。这只是一个陷阱问题(我的用户错误)。 (2认同)

小智 5

我在文件夹中的第一个程序中遇到了这个问题。我做了“git add”然后“git commit”。“git status”给出了描述的错误,即“没有提交,工作目录干净”

我最终从程序文件夹中删除了 .git 文件。然后我做了一个新的 git init、git add 和 git commit 并且它起作用了。