我做了一个git commit -m "message"这样的:
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 status它会显示相同的修改文件:
git status
> 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”和/或“git commit -a”)
Git 有一个“暂存区”,在提交之前需要在其中添加文件,您可以在此处阅读有关它的说明。
对于您的具体示例,您可以使用:
git commit -am "save arezzo files"
(注意标志中的额外内容a,也可以写成git commit -a -m "message"- 两者都做同样的事情)
a
git commit -a -m "message"
或者,如果你想对提交的内容更有选择性,可以使用 git add 命令将相应的文件添加到暂存区,并使用 git status 预览即将添加的内容(记住要注意使用的措辞)。
您还可以在git 文档页面 上找到有关如何使用 git 的一般文档和教程,这将提供有关暂存/添加文件概念的更多详细信息。
另一件值得了解的事情是 交互式暂存 - 这允许您将 文件的一部分 添加到暂存区域,因此如果您进行了三个不同的代码更改(针对相关但不同的功能),您可以使用交互模式来拆分依次更改并添加/提交每个部分。像这样具有较小的特定提交可能会有所帮助。