码迷,mamicode.com
首页 > 其他好文 > 详细

git提交忽略文件或文件夹

时间:2017-07-05 16:42:48      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:正则   不清楚   生效   匹配   comm   根目录   stat   target   需要   

 

在项目根目录下面 添加 .gitignore文件

文件中每一行表示需要忽略的文件的正则表达式。

 

.gitignore文件过滤有两种模式,开放模式和保守模式

1. 开放模式负责设置过滤哪些文件和文件夹

例如: /target/ 表示项目根目录下的target文件夹里面所有的内容都会被过滤,不被GIT 跟踪

.classpath 表示项目根目录下的.classpath文件会被过滤,不被GIT跟踪

 

2. 保守模式负责设置哪些文件不被过滤,也就是哪些文件要被跟踪。

例如:

!/target/*.h 表示target文件夹目录下所有的.h文件将被跟踪

 

如果你不清楚GIT会跟踪哪些文件,你可以先用git status命令查看一下

C代码  

  1. $git status  
  2. # On branch master  
  3. # Untracked files:  
  4. #   (use "git add <file>..." to include in what will be committed)  
  5. #  
  6. #    .metadata/  
  7. #    gitignore  

 像这样的话,就是.metadata文件夹和gitignore被跟踪。

 

另外别忘记了在.gitignore文件中加入一行.gitignore,否则的话.gitignore将会被传到GIT服务器上

规则写法

1. 在已忽略文件夹中不忽略指定文件夹

 

/node_modules/*

!/node_modules/layer/

2. 在已忽略文件夹中不忽略指定文件

 

/node_modules/*

!/node_modules/layer/layer.js

 

【注意项】注意写法 要忽略的文件夹一定要结尾 /* ,否则不忽略规则将无法生效

3. 其他规则写法 (附)

  以斜杠“/”开头表示目录;


  以星号“*”通配多个字符;


  以问号“?”通配单个字符


  以方括号“[]”包含单个字符的匹配列表;


  以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

1、忽略文件

*.bak               # 忽略所有扩展名为.bak的文件

!keep.bak      # keep.bak文件除外(不会被忽略)

temp/test.txt  # 忽略temp目录下的test.txt文件

temp/*.txt       # 忽略temp目录下所有扩展名为.txt的文件

 

2、忽略目录

temp/       # 忽略temp目录下的所有目录和文件

temp/*/    # 忽略temp目录下的所有目录,但不会忽略该目录下的文件

 

git提交忽略文件或文件夹

标签:正则   不清楚   生效   匹配   comm   根目录   stat   target   需要   

原文地址:http://www.cnblogs.com/e206842/p/7121927.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!