Git 如何屏蔽特定结构目录?

mogodb · 2015年01月05日 · 最后由 nightire 回复于 2015年01月25日 · 10553 次阅读

如屏蔽所有 /res/static /abc/res/static 但是不屏蔽/static 这种.gitignore 该如何写?

res/static/* 貌似不行...

修改 1 忘了说明: 只屏蔽 res 目录下的 static

abc/static不屏蔽的

这样子试试:

static
!/static

#1 楼 @_samqiu 不好意思,我没说清楚意思,看修改 1

#4 楼 @kikyous 我可能没说清楚,要屏蔽的不止 res/static/ 还报错 xxx/res/static/ xxx/yyy/res/static/ prefix_string/res/static/

如这个文件是应该屏蔽的 这种需求该如何写 ignore 呢?

/res/static/ */res/static/规则好像都没用...

#6 楼 @mogodb 你 @ 错了人,所以我一直都没收到……要不是我忽然想起来看看解决了没有,这就过去了。

其实啊,你已经做对了,但是之前已经被 stage 了,你得把它 git rm --cached 掉啊。

看图:

你想要的就是屏蔽掉 res/static/ 这个模式,无论它出现在哪里,所以只需要一句 **/res/static/ 就可以了。我截图里用的是 **/res/static 就连 static 是文件的情况也考虑到了。

#7 楼 @nightire 找到问题了,好像这个语法是 1.8.x 后才有效的,偶用的 1.7...

已经在代码库里的目录和文件,.gitignore 是屏蔽不了滴。。。请先移除仓库

#8 楼 @mogodb 哦,是这样么?我觉得这种底层的基础工具应该一直保持用新版本,遇到重大升级就读一下 Changelog 看看有什么变化,否则总是被各种坑耽误时间太划不来了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号