2012-02-08 88 views
1

我越来越怪异的消息时,它的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

+2

别担心,你会得到更奇怪的。 – 2012-02-08 19:38:39

回答

3

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

http://learn.github.com/p/normal.html有关于使用暂存区域的详细信息,可以很好地说明发生了什么。

就你而言,顺便提一下,你有两个修改过的文件,并且这些更改都没有进行下一次提交。

+0

但是当我输入'git -a -m“msg”'它提交就好了 – qwertymk 2012-02-08 19:39:25

+0

是的,它会:'-a'意味着你只做了两件事,分阶段进行所有更改,然后提交。 – 2012-02-08 19:42:00

1

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

的Git已经告诉你该怎么做:

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

这是混帐的基本功能之一,所以我建议你开始对Git的基础知识教程。

+0

但是当我输入'git -a -m“味精”'它提交它就好了 – qwertymk 2012-02-08 19:39:36

1

git比以前使用过的其他版本控制系统要复杂一些。 有,你有辨别三种状态:

  1. 修改 - 该文件已更改,但不会成为下一个 的一部分提交
  2. 上演 - 该文件已changeed,这些变化将成为其中的一部分下一提交
  3. COMMITED - 自上次的文件并没有改变承诺

你得到的第一状态你只需要改变文件

拿到1到2你个混蛋加

获得2至3你做一个git的承诺

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

+0

但是当我输入'git -a -m“msg”'它提交就好了 – qwertymk 2012-02-08 19:39:44

+0

是的。 -a是“阶段所有变化”的捷径。这在大多数情况下都很方便。但有些时候你只想进行一些改变,那么你必须明确地做这一步。 – bjelli 2012-02-08 19:43:57