Git学习-.gitignore文件介绍

这篇具有很好参考价值的文章主要介绍了Git学习-.gitignore文件介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


本篇主要详细介绍了 .gitignore 文件的内容,以及如何合理的进行配置;

我们平时在开发过程中,经常会包含一些不希望被别人看到,或者不需要被别人看到的文件,比如IDEA项目的配置目录.idea、node模块的包目录node_modules等;

这时我们就可以通过 .gitignore 文件来将这些路径排除掉,这样提交时就不会把这些目录提交到远程仓库;下面我们就详细介绍下 .gitignore 文件。

1. .gitignore规范

这里我们列举出比较重要的几种规范,如下所示:

  • #:# 开头的为注释内容

  • 正则表达式:可以使用正则表达式来进行模式匹配,默认会递归循环整个目录

    * : 匹配单个或多个字符
    ** : 匹配多级目录
    ? : 匹配单个字符
    [abc] : 匹配a、b、c中的任意一个字符
    [a-c] : 匹配a~c之间的任意一个字符

  • /开头:只在当前目录匹配,不进行递归,比如/src表示只匹配当前目录的src文件或目录,不去其他目录匹配

  • /结尾:只匹配目录,不匹配文件, 比如 target/表示只匹配target目录,不匹配target文件

  • !开头: 取反,不匹配指定的文件或目录,比如!main.xml表示 不排除所有的main.xml文件

2. .gitignore例子

idea

target/

*.iml

!main.iml

/test

*.class

demo/*.txt

demo/**/*.txt

*.jar
*.war
*.ear
*.zip
*.tar.gz
*.rar

.idea: 排除所有的idea文件或目录(这里的所有包括当前目录和其他目录,也就是说会递归查找目录,
下面的所有都是同理
)

target/: 排除掉所有的target目录

*.iml: 排除所有的.iml文件

!main.iml:不要排除main.iml文件,配合上面的*.iml一起使用就是 排除所有.iml文件,但是不排除main.iml文件

/test:只排除当前目录下的test目录,不排除其他目录下的test目录,比如src/test就不会被排除

*.class:排除所有类文件

demo/*.txt:排除所有demo目录下的txt文件,只在demo目录下查找,比如demo/update.txt

demo/**/*.txt:排除所有demo目录下的txt文件,在demo目录及其子目录下查找,比如demo/a/update.txt, demo/update.txt

*.jar:排除所有打包文件

3. IDEA中的.ignore插件

一般来说,每一种项目都会有一些特定的ignore模板,比如Java会产生class文件,node会产生node_modules模块;

如果每种项目都有一个gitignore模板那该多好啊;
正好,IDEA就有这样一个插件:.ignore插件;
不过它不止适用于gitignore,还适用于其他的ignore

不过我们这里只介绍.gitignore;
安装插件
直接在插件市场搜索 ignore,安装即可
gitignore文件,Git,git,学习,intellij-idea

使用插件
这里假设我们创建了一个Java项目,那么就可以在项目的路径下创建一个.gitignore文件;
gitignore文件,Git,git,学习,intellij-idea

接着选择对应的Java模板;
这样一个基于Java的.gitignore模板就算创建成功了,接下来可以自己再看着修改:
gitignore文件,Git,git,学习,intellij-idea

4. 为啥有时候gitignore不生效

有时候我们明明添加了匹配模式,但是就是排除不了对应的文件或目录;

那是因为那个文件或目录已经被添加到了git的记录中(执行过git add),此时再在gitignore中添加匹配模式是无法生效的;

解决办法就是从git记录中删除对应的文件或目录;

git rm -rf --cached .

-rf:表示递归+强制

–cached: 表示只删除git记录,不删除本地文件;如果不添加这个选项,则本地文件也会被删除
. : 表示删除当前目录的所有git记录,如果只是想删除指定的文件,可以用具体的文件名替代,比如git rm -rf --cached demo.txt

如果误删除了所有git记录,可以用git restore --staged .恢复

总结

首先我们需要知道,.gitignore的匹配模式就是用了简化版的正则表达式;

其次我们如果是用IDE开发,一般都会有ignore插件,帮助我们快速添加一个gitignore模板(不同项目有不同的模板);

最后如果ignore不生效,可以通过删除对应的git记录来解决,git rm -rf --cached .;文章来源地址https://www.toymoban.com/news/detail-725041.html

到了这里,关于Git学习-.gitignore文件介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git中的.gitignore文件不生效

    不生效原因: .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。 想要.gitignore起作用,必须要在这些文件不在暂存区中才可以,gitignore文件只是忽略没有被staged(cached)文件, 对于已经被staged文件,加入ignore文件时一

    2024年02月11日
    浏览(46)
  • Git忽略文件.gitignore的使用

            当你使用 git add . 的时候有没有遇到把你不想提交的文件也添加到了缓存中去?比如项目的本地配置信息,如果你上传到Git中去其他人pull下来的时候就会和他本地的配置有冲突,所以这样的个性化配置文件我们一般不把它推送到git服务器中,但是又为了偷懒每次添

    2024年02月05日
    浏览(56)
  • GIt系列(二)忽略文件(.gitignore)

    如果你不想让本地仓库的所有文件都上传到远程仓库中,而是有选择的上传一部分的文件,比如说依赖文件,测试文件你不想提交, 可以通过 \\\".git目录 \\\" 下的 .gitignore 文件,选择忽略这些文件。 工作区:包含 .git目录的上一级目录,详见:GIt系列(一)中的工作区(Working

    2024年02月15日
    浏览(63)
  • git如何使用.gitignore文件设置忽略文件规则

    我们使用git进行版本控制的过程中,会希望一些文件不要进行提交,那这个时候就可以利用一些方法达到这个目的,这篇文章讨论一下如何使用.gitignore文件来进行忽略的方法。 先简单讨论一下常用的.gitignore文件编写规则,其实比较像正则表达式中的一些内容。 一行表示一个

    2024年02月03日
    浏览(58)
  • git---更新gitignore文件,使之生效

    同步remote端和本地端 # 注意有个点“.” git rm -r --cached . git add -A git commit -m \\\"update .gitignore\\\" 简单的.gitignore示例 # 此为注释 – 将被 Git 忽略 # 忽略所有 .a 结尾的文件 *.a # 但 lib.a 除外 * !lib.a # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO /TODO # 忽略 build/ 目录下的所有文

    2024年02月03日
    浏览(89)
  • git 添加 .gitignore文件,忽略不需要提交的文件

    目录 1.什么是.gitignore文件? 2..gitignore文件怎么添加? 3.gitignore文件添加后效果 4.gitignore文件添加后不生效怎么办? 1.什么是.gitignore文件?     当使用git进行项目管理时候,只需要提交自己想要提交的代码文件,一些编译或者工具产生的文件是不希望被提交的,那么.gitigno

    2024年02月04日
    浏览(65)
  • 【转】git如何使用.gitignore文件设置忽略文件规则

    目录 一.前言 二.讨论一下.gitignore文件规则 三.具体.gitignore文件写法示例 四.讨论一下.gitignore文件规则的生效优先级 五.其他 一.前言 我们使用git进行版本控制的过程中,会希望一些文件不要进行提交,那这个时候就可以利用一些方法达到这个目的,这篇文章讨论一下如何使用

    2024年01月17日
    浏览(80)
  • gitignore文件使用方法(gitignore教程)(git status --ignored)(git check-ignore -v <file>)

    Gitignore是一个用于指定Git版本控制系统忽略特定文件或目录的规则文件。它的发展可以追溯到早期的版本控制系统,如CVS和SVN,这些系统使用类似的机制来忽略特定文件。 在Git中,Gitignore文件的原理是通过定义一系列规则来告诉Git哪些文件应该被忽略。这些规则可以是简单的

    2024年02月08日
    浏览(36)
  • Git编辑.gitignore文件并使其生效

    当我们开发完一个项目想将项目推送到远程仓库时,我们大多数时候都是将所有的文件添加到仓库中并且推送到远程仓库。这样的方式在项目不大的时候是不会引起大问题的,但是远程仓库是有限的,如果我们的项目越来越大会导致远程仓库的存储不够。在git中,我们可以通

    2024年02月13日
    浏览(47)
  • git如何忽略指定文件以及gitignore相关知识

    文章概要 :本文主要介绍了git中如何忽略指定文件,包括已经commit了的文件。解释了gitignore文件的写法以及提供了常见的gitignore模版。 本文内容来自:谷流仓AI - ai.guliucang.com 在平常写代码使用git的过程中,我们项目有些文件是不适合提交到仓库的,因此需要让git忽略这些文

    2024年04月25日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包