2013-11-26 159 views
0

我在一個團隊中的項目上工作,我需要不時結賬他人的分支。這是事情。Git阻止忽略的目錄結帳

所有的CSS和JS文件都是從SASS/Coffeescript編譯的,它們都存儲在/Static目錄中。顯然編譯的文件不包含在遠程倉庫中。所以我克隆庫並編譯它們,以便我可以在本地機器上運行它。我把/Static目錄放入.gitignore

現在讓我們說,我運行一個結帳到不同的分支。每次我這樣做,它都會因爲存在未被滿足的文件(已編譯的文件)而中止。如果我運行git checkout <branch> --force它們顯然消失了,所以我必須在每次運行結帳時編譯它們。

那麼,在提交,簽出或執行其他操作時,如何讓git完全忽略/Static目錄(或任何其他我可能想要的目錄)?換句話說:如何使庫內的目錄在git操作方面完全不活動? Thanx

回答

1

您應該在存儲庫中將/Static添加到.git/info/exclude。它充當一個用於忽略文件的存儲庫範圍的機制。

1

我認爲你並沒有真正忽略/ Static。 如果/ Static真的被忽略了,你可以做到你想要的而沒有問題。

我認爲你已經添加了/靜態到.gitignore,但/靜態以前是控制版本,所以包含在.gitignore中沒有效果。

我的意思是,如果最初的克隆包含/ Static,那意味着/ Static正在被控制版本化。 要開始忽略先前版本,你必須先停止一些控制版本吧:

git rm --cached <your-directory> 

,然後開始忽略它

<add your directory to .gitignore> 
git commit -m "Removed <directory> from control version."