我做了一个git commit -m "message",像这样:

> git commit -m "save arezzo files"
# 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:   arezzo.txt
#       modified:   arezzo.jsp
#
no changes added to commit (use "git add" and/or "git commit -a")

但是之后,当我做git状态时,它显示了相同的修改文件:

> 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:   arezzo.txt
#       modified:   arezzo.jsp
#
no changes added to commit (use "git add" and/or "git commit -a")

我做错了什么?


当前回答

您没有添加更改。或者专门添加它们通过

git add filename1 filename2

或者添加所有更改(从项目的根路径)

git add .

或者在承诺时使用简写“-a”:

git commit -a -m "message".

其他回答

我有一个问题,我在做提交-修改后,甚至发布了一个git添加。但它还是不能工作。原来我做了一些.vimrc自定义,我的编辑器不能正常工作。修复这些错误以使vim返回正确的代码就解决了这个问题。

正如这条信息所说:

提交时不添加任何更改(使用"git add"和/或"git commit -a")

Git有一个“暂存区”,在提交文件之前需要在这里添加文件,你可以在这里阅读它的解释。

对于你的具体例子,你可以使用:

git commit -am "save arezzo files"

(注意标记中额外的a,也可以写成git commit -a -m "message" -两者都做同样的事情)

或者,如果您希望对添加到提交中的内容有更多的选择,您可以使用git add命令将适当的文件添加到暂存区域,并使用git status预览将要添加的内容(记住注意使用的措辞)。

你也可以在git文档页面上找到关于如何使用git的通用文档和教程,它将提供关于分段/添加文件概念的更多细节。

另一件值得了解的事情是交互式登台——这允许您将文件的部分添加到登台区域,因此,如果您已经进行了三个不同的代码更改(对于相关但不同的功能),您可以使用交互模式拆分更改并依次添加/提交每个部分。像这样更小的特定提交是有帮助的。

我把Git源代码控制下的一个子项目复制到另一个项目中,忘记删除. Git文件夹。当我去提交时,我得到了与上面相同的消息,直到我删除了。git文件夹才能清除它。

这有点傻,但值得检查一下你的文件夹下是否有一个不能提交的。git文件夹。

我有一个非常类似的问题,同样的错误消息。“更改没有为提交而上演”,然而当我做diff时,它显示了差异。我终于发现,之前我改变了一个目录大小写。前女友。“postgresql”改为“postgresql”。我记得有时候git会在旧的case目录下留下一两个文件。然后您将向新案例提交一个新版本。

因此git不知道该依赖哪一个。所以为了解决这个问题,我不得不登陆github的网站。然后你就可以看到两种情况了。并且必须删除不正确的套管器目录中的所有文件。确保保存了正确的版本或在正确的大小写目录中。

删除旧case目录中的所有文件后,整个目录将消失。然后进行提交。

此时,您应该能够在本地计算机上执行Pull操作,并且不再看到冲突。因此能够再次承诺。:)

你应该:

git commit . -m "save arezzo files"