我做了一个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")

我做错了什么?


当前回答

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

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

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

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

其他回答

我发现这个问题出现时,我已经做了一个git添加。在下面我的.gitignore文件所在的子目录中(可以说是我的存储库的主目录)。尝试将目录更改到最上面的目录并运行git add。后面跟着git commit -m“我的提交消息”。

你应该:

git commit . -m "save arezzo files"

删除所有项目中的每个.git文件

您可以使用该命令

rm -rf .git

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

也许是显而易见的事情,但是……

如果索引有问题,可以使用git-gui。您可以很好地了解索引(暂存区)实际上是如何工作的。

另一个帮助我理解索引的信息来源是Scott Chacons的《Getting Git》第259页。

我开始使用命令行,因为大多数文档只显示…

我认为git-gui和gitk实际上让我工作得更快,我摆脱了像“git pull”这样的坏习惯……现在我总是先取……在我合并之前看看新的变化到底是什么。