令人困惑的git消息

时间:2012-02-08 19:29:46

标签: git

我得到了最奇怪的消息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:   folder/test.txt
#       modified:   tesitng.txt
# no changes added to commit (use "git add" and/or "git commit -a")

是哪一个?如果我现在提交,修改后的消息会显示还是会有更改添加到仓库中,还是会有no changes added to commit

3 个答案:

答案 0 :(得分:3)

目前没有为提交添加任何更改。您正在看到工作目录,暂存区域和git中的最终提交之间的区别。

http://learn.github.com/p/normal.html详细介绍了使用暂存区域,该区域可以很好地说明正在发生的事情。

在你的情况下,顺便说一句,你有两个修改过的文件,并且这些修改都没有被分阶段进行下一次提交。

答案 1 :(得分:1)

您的工作目录中存在更改,您必须stage更改 - 这是添加到索引并说git这些文件可以提交。然后,做提交。

Git已经在告诉你该怎么做了:

 (use "git add <file>..." to update what will be committed)

这是git的基础知识之一,所以我建议你先从Git基础知识开始。

答案 2 :(得分:1)

git比您之前使用过的其他版本控制系统复杂一点。 您必须辨别三种状态:

  1. 已修改 - 文件已更改,但不会成为下一个文件的一部分 提交
  2. 暂存 - 文件已更改,更改将成为下一次提交的一部分
  3. 提交 - 自上次提交后文件未发生更改
  4. 你到了第一个状态,你只需要更改文件

    从1到2你做一个git add

    从2到3你做一个git commit

    是的,它在手册http://learn.github.com/p/normal.html