详解gitignore的使用方法,让你尽情使用git add .

如题所述

大家好,欢迎来到周一git专题。

今天我们要探讨的是gitignore的作用,如果你英文不错,应该能猜出它的作用。在英文中,“ignore”意味着忽视或忽略,所以gitignore自然就是git中的忽视和忽略,也就是忽略某些文件。它的作用是在git add时自动排除我们指定的文件,避免它们被提交到git中。

你可能会有疑问,git不就是为了管理代码和文件而创造的吗?为什么还要禁止一些文件提交呢?其实原因很简单,比如我们编写编译型语言(如C、C++、Java、go)时,编译后的二进制文件(binary文件)通常很大,远比源码大。这些文件完全没有必要上传,因为任何人拿到源代码编译一下就能获得相同的结果,上传可执行文件完全没有必要。相反,它会占用git仓库大量空间,浪费磁盘资源。

还有很多类似的文件,比如Java编译出的class文件、一些中间结果、配置文件等。我们经常使用git add .提交全部文件,但如果不希望某些文件被提交,怎么办呢?这时,gitignore文件就派上用场了。

gitignore的使用方法很简单,在git目录下创建一个.gitignore文件,然后列出我们不希望提交的文件即可。所有列在文件中的名称,在git add时都会被忽略。此外,git已经为我们提供了很多模板,可以直接参考。

gitignore的语法很简单,可以归结为5条规则,以下逐一说明。

1. #表示注释:#开头的行会被git忽略,表示注释,与Python和shell脚本中的注释方法相同。

2. 忽略整个文件夹:可以使用文件夹路径加上斜杠作为结尾来忽略某个路径下文件夹内的所有内容,如src/build/。

3. !表示取反:如果文件夹中有一个文件是我们希望提交的,可以使用!命令取反,表示指定的文件名可以不遵守忽略条件,如src/build/main.go。

4. glob模式匹配:虽然glob模式匹配不如正则表达式强大,但对于常用的文件匹配场景来说,已经足够了。例如,*可以代表任何字符串,[abc]表示匹配方括号中的任何一个字符,?表示匹配任何一个字符,[0-9]表示匹配0-9中的任意一个数字,两个*号表示任何中间目录,如src/**/build。

5. 文件匹配:可以使用文件扩展名来过滤文件,如*txt表示过滤所有txt格式的文件,*json表示过滤所有json格式的文件。

掌握这些规则,我们可以轻松应对各种文件ignore场景。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜