2010-03-23 43 views
1

當我運行git status時,我有一個修改列表,但我無法對它們進行分段或提交。我怎樣才能解決這個問題?爲什麼git會記住變化,但不讓我把它們放在舞臺上?

發生這種情況後,在一個巨大的提交中從某個裸倉庫中提取kernelmode目錄。

% git status 
# On branch master 
# Changed but not updated: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: kernelmode/linux-2.6.33/Documentation/IO-mapping.txt 
# ... 

$ git add kernelmode/linux-2.6.33/Documentation/IO-mapping.txt 

$ git status 
# On branch master 
# Changed but not updated: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: kernelmode/linux-2.6.33/Documentation/IO-mapping.txt 
# ... 
+0

這是一個奇怪的情況,你能想到最近在這個事情發生之前你做的任何事嗎?如果你犯了什麼會怎麼樣? 'git diff'和'git diff --cached'的輸出是什麼? – hasen 2010-03-24 23:01:34

回答

0
git add kernelmode/linux-2.6.33/Documentation/IO-mapping.txt 

這應該添加一個文件時顯示爲需要上演。

但是,有兩個級別的子目錄(而不是問題中的三個)的一些實驗表明git add .應該添加需要添加的所有內容 - 對您而言,事實並非如此。

+0

添加特定文件沒有區別。 :( – 2010-03-23 18:50:52

+0

@Andres:這很奇怪......可能是你的當前目錄和kernelmode/linux-2.6.33/Documentation /目錄之間存在一個子目錄'.git',這個目錄不能被正確處理嗎? ,因爲中間的'.git'存在,對IO-mapping.txt的更改屬於其他Git存儲庫,但由於某種原因,本地「git狀態」不能正確識別這種情況?相當牽強的可能性不大,但是。那麼你看到的就是這樣。 – 2010-03-23 21:50:11

+0

是的,我有一種感覺,在這個知識庫上工作的另一個人做了一些有趣的事情...... – 2010-03-24 18:13:39

相關問題