2013-11-26 76 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."