2012-02-08 120 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