Git阻止检查被忽略的目录

时间:2013-11-26 14:53:33

标签: git repository git-checkout

我在一个团队的项目中工作,我需要不时检查其他人的分支机构。事情就是这样。

所有CSS和JS文件都是从SASS / Coffeescript编译的,它们都存储在/Static目录中。显然,编译的文件不包含在远程存储库中。所以我克隆存储库并编译它们,以便我可以在我的本地机器上运行它。我将/Static目录放入.gitignore

现在让我说我在不同的分行办理结帐。每次我这样做,它都会中止,因为有未提交的文件(那些已编译的文件)。如果我运行git checkout <branch> --force他们显然会消失,所以我每次运行结帐时都必须编译它们。

那么,在提交,结账或任何其他操作时,如何让git完全忽略/Static目录(或任何其他我可能想要的)?换句话说:如何在存储库中使目录在git操作方面完全不活动?感谢名单

2 个答案:

答案 0 :(得分:1)

您应该在存储库中将/Static添加到.git/info/exclude。它充当了用于忽略文件的存储库范围的机制。

答案 1 :(得分:1)

我认为你并没有真正忽视/静态。 如果/ Static真的被忽略了,你可以毫无问题地做你想做的事。

我认为您已将/ Static添加到.gitignore,但/ Static以前是控件版本的,因此包含在.gitignore中无效。

我的意思是,如果初始克隆包含/ Static,那意味着/ Static正在进行控制版本化。 要开始忽略以前版本化的东西,首先要停止控制版本化:

git rm --cached <your-directory>

然后开始忽略它

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