首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我无法理解gitignore是如何忽略文件夹的

我无法理解gitignore是如何忽略文件夹的
EN

Stack Overflow用户
提问于 2011-04-21 08:34:02
回答 3查看 3.9K关注 0票数 12

我想为我的Magento项目创建存储库。根目录下有很多文件夹和文件,我经常只更改一个文件夹: app/code/local/

其他我想忽略的东西。但是..。不能。我的.gitignore文件:

代码语言:javascript
复制
*
!app/code/local/
!app/code/local/*

然后,当我尝试将文件夹添加到存储库时,我得到一个错误:

代码语言:javascript
复制
git add app/code/local/Mds/

The following paths are ignored by one of your .gitignore files:
app
Use -f if you really want to add them.
fatal: no files added

有人能帮个忙吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-21 15:20:29

试着在下面忽略你所需要的:

代码语言:javascript
复制
/*
!/app/
/app/*
!/app/code/
/app/code/*
!/app/code/local/

下面的讨论很有帮助:http://git.661346.n2.nabble.com/negated-list-in-gitignore-no-fun-td1675067.html,尤其是来自Linus的以下内容:

That's by design. You've chosen to ignore those directories; they match "*" themselves. Thus, 'git add .' doesn't descend into them looking for files.

因此,基本上,对于每个级别,您必须进入,取消忽略该文件夹,并忽略该文件夹中的内容。

票数 17
EN

Stack Overflow用户

发布于 2011-04-21 08:40:45

这个.gitignore在回购的根目录中吗?

试试这个:

代码语言:javascript
复制
/*
!/app/code/local
票数 0
EN

Stack Overflow用户

发布于 2014-08-07 22:08:40

根据the documentation的说法

“如果文件的父目录被排除,则无法重新包含该文件。”

例如,如果您已经在使用存储库,并告诉Git忽略父目录,进行了一些提交,然后返回并尝试允许排除目录的某个子目录,即使您的 .gitignore 文件是正确的,它也不会包括该子目录。要解决此问题,您需要强制添加它(使用-f标志):

代码语言:javascript
复制
git add -f {file}

完成此操作后,将跟踪后续更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5738204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档