.gitignore忽略跟踪指定文件

并非所有项目中的文件都希望被跟踪提交,例如以下几种:

(1).存放密码等比较私密内容的文件。

(2).程序编译所产生的中间文件或暂存文件。

达成上述目的,只需要在项目根目录下配置.gitignore文件,使其忽略跟踪指定文件即可。还有另外两种实现忽略指定文件的方式,本文只介绍在项目根目录下添加.gitignore文件这一种,最为常用。

一. 创建.gitignore文件:

首先要特别注意,文件的全称就是.gitignore(一个点+gitignore)

a:3:{s:3:\"pic\";s:43:\"portal/201807/23/002121smy9kmyyz1xqb959.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

二.忽略规则:

(1).文件中的空行会被忽略,可以用来作为分隔美化格式。

(2).以#开头的行用作注释,不会作为忽略规则。

(3).可以有限的采用正则表达式,星号(*)表示任意多个字符,问号(?)表示任意一个字符,方括号[abc]表示其中任意一个字符,大括号({string1,string2,string3})表示其中的任意一个字符串。

(4).以斜杠开头表示根目录,比如/test.txt表示根目录下test.txt文件。

(5).以斜杠结尾,表示一个目录,a/表示a目录下所有文件(无论是否根目录),/a/表示根目录下的a目录中所有文件。

(6).一叹号(!)开头表示此类文件不被忽略。

三.实例分析:

(1).实例一:

1

2

3

4

# 这是注释

/ant/ # 忽略根目录下ant目录下所有文件

*.txt # 忽略所有的文本文件

softwhy/do.c #忽略softwhy目录下所有do.c文件

上面规则比较简单不多分析。

(2).实例二:

1

2

/ant/

!/ant/test.txt

分析如下:

(1).第一行规定忽略根目录下的ant目录下的所有文件。

(2).第二行规定不忽略对应目录下的test.txt文件。

如果没有叹号(!)这个用法,想要实现上述功能,只能挨个忽略ant目录下除去test.txt之外的文件。

四. 为什么规则没有生效:

现在.gitignore文件的规则内容如下:

1

readme.txt

忽略readme.txt文件,现在修改readme.txt文件,然后查看一下状态:

a:3:{s:3:\"pic\";s:43:\"portal/201807/23/002329fzihsi8sszyi2thy.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

规则已经规定要忽略readme.txt文件了,但是为什么readme.txt依然处于跟踪状态。

这是因为忽略readme.txt规则是后来添加的,规则是这样的:规则只能对尚未被track跟踪的文件有效。

只要再将readme.txt设置为未跟踪状态即可生效:

1

$ git rm readme.txt --cached

将其从暂存区删除,这时候文件处于未跟踪状态,这时候Git已经不能跟踪它:

a:3:{s:3:\"pic\";s:43:\"portal/201807/23/002408kv0hh0inyuzvsnez.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值