git commit提交更新报错Changes not staged for commit
报错如下:
$ git commit -m ""
On branch master
Changes not staged for commit:
modified: Map/src/test/TestValidator.java
Untracked files:
.metadata/
.recommenders/
Map/bin/
no changes added to commit
问题思考
看报错的最后一句"no changes added to commit"没有添加改变来提交。
查看了廖雪峰老师的教程工作区和暂存区的概念:
- 工作区是我们建立的文件夹,存放各种代码和文件;
- 而工作区内有一个隐藏的文件夹.git是git的版本库,而版本库又分为暂存区和自动建立的master分支;
commit命令只是将stage中的内容提交到分支。但是我们修改的内容在工作区,stage“”并不知情”,现在就可以理解“no changes added to commit”了。正确的提交方法也就呼之欲出了。
问题解决
在commit之前,先用add将修改的文件加入到stage暂存区中,再进行commit即可。
牢记:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。