忽略英语短语(详解ignore的使用方法,让你尽情使用gitadd.)

忽略英语短语。大家好,欢迎来到周一git专题。今天和大家聊聊gitignore的作用,其实如果你英文还可以的话,你应该已经基本上猜到它的作用了。ignore在英文当中的意思是忽视、忽略,gitignore自然就是git当中的忽视和忽略,言下之意就是忽略某些文件。所以gitignore的作用就是帮助我

忽略英语短语(详解ignore的使用方法,让你尽情使用gitadd.)

忽略英语短语。大家好,欢迎来到周一git专题。

今天和大家聊聊gitignore的作用,其实如果你英文还可以的话,你应该已经基本上猜到它的作用了。ignore在英文当中的意思是忽视、忽略,gitignore自然就是git当中的忽视和忽略,言下之意就是忽略某些文件。所以gitignore的作用就是帮助我们在git add时将我们指定的一些文件自动排除在外,不提交到git当中。

ignore的作用

看到这里你可能很疑惑,git创造出来就是为了管理代码和文件的,为什么还要禁止一些文件提交呢?

其实也很简单,举个很简单的例子。比如当我们写一些编译型语言的时候,比如C、C++、Java、go。我们在运行之前往往需要编译一下将它们编译成可执行的二进制文件,也称为binary文件。编译之后的binary文件其实是比较大的,要比源码大很多。经常一个几十行的代码编译出来好几百KB甚至1MB这都是很正常的,像是这些二进制文件我们就完全没有必要上传。

因为不论是谁拿到源代码编译一下就可以获得一样的结果,完全没有上传可执行文件的必要。相反它还会在git仓库当中占据大量的空间,以后不论项目经过多少次迭代,它都会一直停留在git仓库当中,占据磁盘资源。

像是这样没有必要上传的文件还有很多,比如Java编译出来的class文件,一些中间结果、配置文件等等。我们往往图方便都是会喜欢在使用git add提交文件的时候使用git add .也就是提交全部的命令来提交。但是如果我们目录下有这些我们不希望提交的内容的话,也一样会全部提交上去,所以我们希望可以在一个地方进行设置,这样当我们使用git add .的时候可以避开一些我们不希望提交上的文件。

这个用来设置的地方就是gitignore文件。

使用方法

gitignore的使用方法非常简单,我们在git目录下创建一个.gitignore文件,然后在这个文件当中列举出我们不希望提交的文件即可。

凡是列在这个文件当中的名称,当我们在使用git add的时候都会替我们忽略掉。我们也没有必要从头开始编写这个gitignore文件,因为git当中已经替我们写好了很多模板,我们可以直接拿过来参考。

模板的地址:

https://github.com/github/gitignore

我们打开之后会看到各种ignore文件,这些都是为各个语言定制的gitignore文件。

我们随便打开一个看看。比如打开一个golang的:

从注释上我们可以看出来,主要都是一些编译之后的结果。

设置ignore

gitignore文件的语法简单说起来可以归结为5条,这5条都挺简单的,我们一条一条来说。

#表示注释

这一条很简单,没什么好说的,#开头的行会被git忽略,因为它表示注释。这个注释方法和Python以及shell脚本是一样的,写过的同学应该都不陌生。

忽略整个文件夹

如果我们想要忽略某个路径下文件夹内的所有内容,那么我们可以写出文件夹的路径再加上斜杠作为结尾即可。

举个例子,假如说我们希望过滤掉src/build文件夹下的所有内容,我们可以这么写:

src/build/

那么这个路径下的所有内容都会被忽略,这个路径是相对路径。

!表示取反

前面说了,我们可以写出一个文件夹的路径来忽略掉这个文件夹下的所有文件,那么假如说这个文件夹当中有一个文件是我们希望提交的,那应该怎么办呢?

我们可以用!命令来取反,表示我们指定的可以不遵守忽略条件的文件名。

比如说我们想要保留src/build路径下叫做main.go的文件,那么我们可以加上一行:

!main.go

glob模式匹配

我们都知道正则表达式非常复杂,正则表达式入门这一本书足足有好几百页这么厚。但是实际上我们一般情况往下用不到这么复杂的模式匹配,所以我们在shell命令当中常用的简化了的模式匹配规则,它比正则表达式要简单很多。

比如*可以代表一切的字符串,可以是0个也可以是任意多个字符。[abc]表示匹配方括号当中的任何一个字符,?表示匹配任何一个字符。[0-9]表示匹配0-9当中任意一个数字,两个*号表示任何中间目录,比如src/**/build,可以匹配到src/test/build,也可以匹配到src/current/build。

比如你想要过滤掉所有的txt格式的文件,你可以这么写:

*.txt

比如你想要过滤掉build路径下的所有json文件,你可以这么写:

build/*.json

虽然glob的模式匹配远远不如正则表达式那么强大,但是对于常用的文件匹配的场景来说,它已经足够了。灵活用好这几种规则已经足够可以应付几乎所有场景下的文件ignore了。

我们洋洋洒洒写了这么多,但是其中的关键点只有零碎的几个,学习成本并不高,但是学会了之后可以一劳永逸地解决很多问题,因此我个人觉得它的性价比还是很高的,非常值得一学。

最后,衷心祝愿大家每天都有所收获。如果还喜欢今天的内容的话,请来一个三连支持吧~(点赞、关注、转发)

– END –

本文始发于公众号:TechFlow,求个关注

声明:该文观点仅代表作者本人,《家在公租房生活网》系信息发布平台,家在公租房生活网仅提供信息存储空间服务。
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫

相关推荐

  • 加装显卡后机盖怎么取,显卡槽被拔起

    大家好,今天小编关注到一个比较有意思的话题,就是关于显卡槽被拔起的问题,于是小编就整理了3个相关介绍显卡槽被拔起的解答,让我们一起看看吧。1、显卡拔不下来?2、加装显卡后机盖怎么取?3、2080显卡拆不掉?显卡拔不下来?如果你的显卡无法拔下来,可能是由于以下原因:未解锁卡槽:有些显卡插槽需要解锁才能

    2024年2月16日
    00
  • 蜂古诗意思解释(古诗文学习040:四年级下册,罗隐蜂)

    蜂古诗。蜂[唐]罗隐不论平地与山尖,无限风光尽被占。采得百花成蜜后,为谁辛苦为谁甜?注释①〔无限风光〕极其美好的风景。②〔采〕采取,这里指采取花蜜。译文不论在平原还是在山尖,美丽的春光尽被蜜蜂占。采集百花酿成了蜜以后,不知道为谁辛苦为谁甜?赏析罗隐(833—909),唐末文学家,其诗颇有讽刺现实之作

    2023年11月11日
    00
  • 英文菜谱50字作文?

    英文菜谱50字作文?(1)1.首先我先切青菜At first,I sliced the green vegetable into pieces.2.接着,我把油倒进锅中Then I poured oil into a pan.3.等油烧热了,我把青菜放进锅中I tossed the gr

    2023年10月7日
    00
  • 新语文读本电子书(我们的孩子可以读什么书?)

    新语文读本电子书。我们的孩子可以读什么书?山鲁佐德又一天2021-07-18 11:57(一到暑假,各种妖魔鬼怪的书目都出来,不读书或者不会读书的人的书目比比,所谓某部的某社的某省市区的,当然学校年级老师的也多。以前钱理老编过《新语文读本》,大致是不错的,至于所谓新课改的温之类的见识,不是鱼目混珠,

    百科 2023年7月5日
    00
  • 蛇鹫又叫什么鸟(肤白貌美拥有一双大长腿,毒蛇克星蛇鹫颜值出众)

    蛇鹫又叫什么鸟?科幻网5月18日讯(王子钰) 非洲是著名的世界毒蛇王国,其中最有名的要属黑曼巴蛇、绿曼巴蛇、非洲树蛇。这三种蛇类都身怀剧毒,一口毒牙让人望而生畏,黑曼巴蛇甚至被冠以“非洲死神”的称号。但即使如此强悍的毒蛇,却也有天敌制约,它就是蛇鹫。蛇鹫也叫秘书鸟、书记鸟、行军鹰,属大型陆栖猛禽,广

    2023年8月31日
    00
  • 12星座女生的完美男神(12星座女生漂亮排行)

    12星座女生的完美男神,什么是“男神”?所谓“男神”是与“女神”相对的概念。细究起来,条件其实相当苛刻,所谓“高富帅”只是最笼统的要求。首先,男神必须有独特的气质。至于这种气质是什么,那就是“萝卜青菜,各有所爱。“其次,男神一定很难得到。如果女生勾搭上了,就能追到人,不管多优秀,绝对配不上“男神”

    2024年2月25日
    00

发表回复

登录后才能评论
关注微信

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:296358331@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息