.gitignore设置跟踪忽略文件夹中文件
来源:互联网 发布:ubuntu如何安装搜狗 编辑:程序博客网 时间:2024/06/10 15:00
- 常用规则
注意:如果你创建.gitignore文件之前就push了某一文件,那么即使你在.gitignore文件中写入过滤该文件的规则,该规则也不会起作用,git仍然会对该文件进行版本管理。
- 配置语法
- 以斜杠“/”开头表示目录;
- 以星号“*”通配多个字符;
- 以问号“?”通配单个字符
- 以方括号“[]”包含单个字符的匹配列表;
- 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录。
注意: git 对于 .gitignore配置文件是按行从上到下进行规则匹配的
示例: 假设想要忽略根目录下所有的名为Win7Release或release的文件夹,可在.gitignore文件中添加如下规则
*[Rr]elease/
若想忽略类似test/bin/目录下名为Win7Release或release的文件夹,则添加规则
*/bin/*[Rr]elease/
注意:当添加的规则中包含目录层级时,该目录应为相对于根目录的完整路径,上面的规则若修改为bin/*[Rr]elease/是无效的。若想只忽略根目录下名为Win7Release或release的文件夹,可添加规则
/*[Rr]elease/
- 跟踪忽略文件夹中文件
假设想要忽略所有的名为Win7Release或release的文件夹下除.txt文件之外的文件,很容易写成如下错误形式
*[Rr]elease/!*[Rr]elease/*.txt
注意:上面已经说过git对于.gitignore配置文件是按行从上到下进行规则匹配的,由于先执行*[Rr]elease/忽略了所有符合条件的文件夹,接下来执行!*[Rr]elease/*.txt时找不到名为*[Rr]elease的文件夹,也就无法追踪这些文件夹下的txt文件了。
所以,在这里,第一步我们不应该忽略这些文件夹,而应该忽略这些文件夹下的所有文件,正确规则添加如下
*[Rr]elease/*!*[Rr]elease/*.txt*/bin/*[Rr]elease/*!*/bin/*[Rr]elease/*.txt
注意:在这里不能交换忽略规则与追踪规则额执行顺序,因为若先执行追踪规则(如!*[Rr]elease/*.txt),接下来执行的忽略规则(如*[Rr]elease/*)会忽略所有文件,包括txt文件!
若我们想要追踪的txt文件在*[Rr]elease文件夹下名为files的文件夹内,上面的规则是错误的,因为执行的忽略规则的时候已经忽略了files文件夹,所以在后面直接添加追踪命令(如!*[Rr]elease/files/*.txt)是无效的,正确规则添加如下
*[Rr]elease/*!*[Rr]elease/*.txt!*[Rr]elease/files/*[Rr]elease/files/*!*[Rr]elease/files/*.txt*/bin/*[Rr]elease/*!*/bin/*[Rr]elease/*.txt!*/bin/*[Rr]elease/files/*/bin/*[Rr]elease/files/*!*/bin/*[Rr]elease/files/*.txt
说明:
1. 执行*[Rr]elease/*,忽略根目录下符合条件的文件夹下的所有文件
2. 执行!*[Rr]elease/*.txt,追踪根目录下符合条件的文件夹下的txt文件
3. 执行!*[Rr]elease/files/,追踪根目录下符合条件的文件夹下的files文件夹
4. 执行*[Rr]elease/files/*,忽略files文件夹下的所有文件
5. 执行!*[Rr]elease/files/*.txt,追踪files文件夹下的txt文件
参考链接
http://www.cnblogs.com/kevingrace/p/5690241.html
http://stackoverflow.com/questions/5533050/gitignore-exclude-folder-but-include-specific-subfolder
- .gitignore设置跟踪忽略文件夹中文件
- 设置SVN忽略目录(文件夹)和文件
- 设置gitignore 全局忽略DS_Store
- TIPS:.gitignore忽略多层文件夹用**
- git 忽略文件夹 修改.gitignore无效
- .gitignore设置git忽略特殊文件
- 遍历文件夹中文件
- Eclipse中svn设置提交时忽略某些文件夹和文件
- svn 忽略文件夹和文件的方法
- Git忽略文件之设置全局gitignore规则文件
- 在gitignore中设置不忽略的文件(夹)
- sourceTree(Mac客户端)如何简单的方法新建.gitignore忽略表,并忽略Pods/文件夹。
- 读取文件夹中文件路径
- Python遍历文件夹中文件
- java_io_文件夹中文件遍历
- win32 遍历 文件夹中文件
- .gitignore 忽略列表
- Git .gitignore文件忽略
- 在线安装visual studio时failed signature validation的原因和解决办法
- Linux学习之二十(特殊权限SUID详解)
- A
- 前三章
- 前端面试题汇总
- .gitignore设置跟踪忽略文件夹中文件
- SpringMVC轻量级框架之控制器重定向跳转原理分析
- 用python pulp的线性规划方法计算满足营养所需的最少食物
- Windows Server 2008 R2 C盘空间不足解决方法
- 动态网页开发基础
- 颜宁发微博“求救” 要投拆造谣公众号
- Linux学习之二十一(facl及用户及linux终端)
- hdu 2795
- CSS3自定义滚动条的样式