2010-11-14 77 views
28

可能重複:
working with .git/info/exclude too late
.gitignore file not ignoring
git - removing a file from source control (but not from the source)如何在使用git-cvsimport後取消跟蹤CVS文件夾?

我在我的兩個.gitignore和我.git/info/exclude文件CVS/。但由於某些原因,對任何CVS文件夾的更改仍會被跟蹤。

我厭倦了不得不手動取消這些文件夾中的更改。

一旦它決定跟蹤它們,我該如何讓git停止跟蹤CVS文件夾?

+0

或者可能是http://stackoverflow.com/questions/1139762/gitignore-file-notignign? – 2010-11-14 17:45:57

+0

或者這個:http://stackoverflow.com/questions/3296739/git-not-ignoring-certain-xcode-files-in-gitignore? – 2010-11-14 17:46:30

+0

@Pavel:是的,這是那些被多方面詢問過的重複內容之一,但仍不足以讓人們通過搜索找到它。我永遠不知道要把它指向哪一個。 – Cascabel 2010-11-14 18:30:40

回答

62

.gitignore只會導致git忽略未跟蹤的文件。 「便利店」已經被跟蹤,所以你必須從資源庫和第一刪除它:

git rm -r --cached CVS 

--cached選項使混帳離開該文件的完整的工作拷貝,而不是刪除它。完成後,.gitignore中的條目將阻止git再次與CVS目錄交互。

一旦它決定跟蹤它們,我該如何讓git停止跟蹤CVS文件夾?

Git永遠不會「決定」跟蹤內容,它只會告訴它。在某個時候,您手動將其添加到索引,然後將其提交到存儲庫。

+1

@meager,啊* git rm --cached *就是我所缺少的。 – dkinzer 2010-11-14 17:47:00

+1

@DKinzer,.gitignore不會阻止git跟蹤它已經跟蹤的文件。正如梅加爾所說,你也必須用'rm'來解決它。你可能還需要一個目錄的「-r」標誌和「-f」標誌來忽略沒有檢入的變化。 – Heatsink 2010-11-14 17:47:56

+1

@meager,「在某些時候,你手動將它添加到索引,然後提交給它儲存庫「。 - 不是真的,它是通過git-svn導入進行的。但是我想我在使用SVN時一定是在跟蹤他們,而沒有意識到這一點。 – dkinzer 2010-11-14 18:22:42