2016-02-24 222 views
2

我已經定義的庫文件中的以下.gitignoregitignore不會忽略

/aclocal.m4 
/config.guess 
/config.sub 

重新配置後然而,重建,git status還報道:

# On branch master 
# 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) 
# 
#  modified: aclocal.m4 
#  modified: config.guess 
#  modified: config.sub 
... 

我期待它說些什麼像:

#  deleted: aclocal.m4 
... 

我在做什麼錯在這裏?

+0

您之前正在跟蹤這些文件嗎? –

+0

已經在git中的文件優先於.gitignore定義。 gitignore只會阻止新文件進入git領域,而不會從中刪除現有的文件。這讓你無法控制,你不希望倉庫由於gitignore文件中的錯誤而被自動清理乾淨。 – Newtopian

回答

6

聽起來這些文件已被git跟蹤。在這種情況下,您首先必須將它們從git中刪除(例如git rm filename)。然後他們會被忽略。

4

您指的是不在存儲庫中的文件系統根目錄下的文件。

你需要像

aclocal.m4 
config.guess 
config.sub 

如果他們先前已經將它們添加到存儲庫,您還需要將其刪除(如git rm aclocal.m4)。