在此先感谢您的阅读-对于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..." to update what will be committed) #(use "git checkout -- ..." to discard changes in working directory) modified: ../../Round 1/R1C3/R1C3.py
在试管上四处搜寻之后,我发现可以用其他各种方式来暂存文件,但不能使用git add
。我可以使用git add -A
或git add -u
或使用交互式升级阶段。
困惑不解并且不真正理解我的注册表为什么git add
不起作用,我努力使用git add -A
。这个故事很奇怪。在我的机器上重新启动后(2011 Macbook Air运行Mavericks),git add
在进行一些更改后,我再次尝试对同一文件执行了正常操作,然后猜怎么着?有效。所以我继续。
现在,不久之后,我又遇到了同样的问题。git add
将不起作用(相同目录)。
有人知道我在做什么错吗?由于上述替代方案,这不是一个很大的问题,但我想了解为什么会这样。特别是因为这在过去一直对我有用,而今天,它坏了:(
**注意:我计算机上其他受版本控制的项目似乎没有受到影响。
git add R1C3.py git status #On branch master # Changes not staged for commit: # (use "git add..." to update what will be committed) # (use "git checkout -- ..." 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 ..." to unstage) # # modified: ../../Round 1/R1C3/R1C3.py #
dqiu.. 7
执行此操作时,git add
它应在与文件相同的目录中运行,或将相对路径传递给文件。由于该文件位于父目录中,因此git add
将找不到该文件。就您而言,您应该cd ../../Round 1/R1C3/
然后运行git add R1C3.py
。
git add -A
之所以起作用,是因为它暂存了存储库中的所有文件,而无视目录中的位置。