2011-02-26 24 views
12

我在一個名爲new_nlp分支,當我做了git的狀態,我得到如下:不能變基:你有不分階段變化的git

# On branch new_nlp 
# Changed but not updated: 
# (use "git add/rm <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# deleted: untitled. 

我看不到這個文件名字,因爲它被刪除。

我想切換到主站和從new_nlp執行衍合,但是當我結帳主人併發出命令:

git rebase new_nlp 

我收到以下錯誤信息:

cannot rebase: you have unstaged changes 
D untitled. 

我看不到這個文件,我不知道如何刪除它。我不知道它是如何被添加的。

有誰知道我怎麼能通過這個路障。我不知道爲什麼文件仍然在索引中。

回答

16

文件被刪除,並已經被git的跟蹤的索引中刪除它。您可以:

  1. 刪除文件並提交更改(git rm --cached untitled; git commit)或
  2. 運行git checkout -- untitled找回文件
+0

太棒了。我爲此掙扎了30分鐘。 – kikuchiyo 2012-07-09 19:43:41

2

使用git rm untitled.

+1

git會最有可能抱怨。要麼使用'--cached'或'-f'選項 – knittl 2011-02-26 16:24:03