Git:添加不是暂存文件

时间:2014-01-26 00:45:56

标签: git

提前感谢您阅读 - 这对Stackoverflow社区来说可能是一个非常微不足道的问题,但让我发疯。

今天下午我遇到了一个非常奇怪的问题,用git进行一些常规工作。

在文本编辑器中对文件进行一些更改后,我去了终端进行分段和提交。在尝试使用git add暂存文件之后(像往常一样)我去提交git commit -m终端向我吐出了这个:

no changes added to commit (use "git add" and/or "git commit -a")

我再次尝试升级(因为作为一个好人,我决定再次尝试并期望不同的结果)并产生相同的结果。我查看了git status

#On branch master
#Changes not staged for commit:
#(use "git add <file>..." to update what will be committed)
#(use "git checkout -- <file>..." to discard changes in working directory) modified:   ../../Round 1/R1C3/R1C3.py

在对管道进行一些搜索之后,我发现我可以通过其他各种方式暂存文件,但不能使用git add。我可以使用git add -Agit add -u或使用交互式分段进行分阶段。

感到困惑,并没有真正理解我的注册git add为什么不起作用,我伪造使用git add -A。这个故事很奇怪。在我的机器上重启(2011 Macbook Air运行小牛队)之后,我尝试了很好的机会。经过一些更改后,git add再次出现在同一个文件中......猜猜是什么?有效。所以我继续。

现在,不久之后,我又遇到了同样的问题。 git add无效(同一目录)。

有谁知道我做错了什么?由于上述替代方案,这不是一个非常大的问题,但我想了解为什么会发生这种情况。特别是因为这在过去一直对我有用,现在已经破了:(

**注意:我的计算机上的其他版本控制项目似乎不会受到影响。

git add R1C3.py
git status
#On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   ../../Round 1/R1C3/R1C3.py
# no changes added to commit (use "git add" and/or "git commit -a")

git add -A
git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   ../../Round 1/R1C3/R1C3.py
#

1 个答案:

答案 0 :(得分:3)

执行git add时,它应该与文件在同一目录中运行,或者传递文件的相对路径。由于该文件位于父目录中,git add将找不到该文件。在您的情况下,您应该cd ../../Round 1/R1C3/然后运行git add R1C3.py

git add -A,因为它会对存储库中的所有文件进行分段,而忽略了您在目录中的位置。