.gitignore配置语法完全版

本文介绍了.gitignore文件的作用和格式规范,用于忽略git项目中不必要的文件。通过添加特定规则,可以避免上传无用文件和保护敏感信息。当需要修改过滤规则时,需执行相应git命令更新文件。合理使用.gitignore能提升代码管理效率。

前言

.gitignore用来忽略git项目中一些文件,使得这些文件不被git识别和跟踪;

简单的说就是在.gitignore添加了某个文件之后,这个文件就不会上传到github上被别人看见;


.gitignore 文件的格式规范如下:

  • 所有空行或者以 # 开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 模式匹配。
  • 匹配模式可以以(/)开头防止递归。
  • 匹配模式可以以(/)结尾指定目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。
  • 星号(*)匹配零个或多个任意字符;
  • [abc]匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);
  • 问号(?)只匹配一个任意字符;
  • 如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。
  • 使用两个星号(**) 表示匹配任意中间目录,比如a/**/z可以匹配 a/z, a/b/z 或 a/b/c/z等。

常用规则:

/mtk/
#过滤整个mtk文件夹
*.zip
#过滤所有.zip文件
/mtk/do.c
#过滤/mtk/do.c文件

fd1/*   
#忽略目录 fd1 下的全部内容

/fd1/*    
#忽略根目录下的 /fd1/ 目录的全部内容;

!/fw/bin/
!/fw/sf/
#不忽略 根目录下的 /fw/bin/ 和 /fw/sf/ 目录;


Git在添加.gitignore之前就push了项目

(为避免冲突可以先同步下远程仓库 $ git pull)

  1. 在本地项目目录下删除暂存区内容: $ git rm -r --cached .

  2. 新建.gitignore文件,并添加过滤规则(用文本编辑器如Notepad++)

  3. 再次add文件,添加到暂存区

  4. 再次commit提交文件

  5. $ git commit -m “add .gitignore”

  6. 最后push即可


Git push完文件后想要修改过滤规则使其生效(跟上一个差不多)

 修改完.gitignore 在本地项目目录下

    $ git rm -r --cached .
    $ git add .
    $ git commit -m".gitignore update"


注意事项

  • 命令和注释别在同一行,如*.txt #注释txt这样会导致这一行无法被识别
  • git add .之前如果有改动.gitignore一定要 执行 git rm -r --cached .
  • 合理使用.gitignore可以避免无用文件的上传,也可以防止重要配置信息的泄露
<think>嗯,用户想知道如何在.gitignore文件中屏蔽掉.idea文件夹。首先,我需要回忆一下.gitignore的基本语法规则。记得在.gitignore中,每一行都是一个模式,用来匹配要忽略的文件或文件夹。 首先,用户提到的.idea文件夹通常是JetBrains的IDE(比如IntelliJ IDEA)生成的配置文件目录。这些文件不应该被提交到版本控制中,因为它们包含的是个人用户的配置,可能会影响其他使用不同IDE的开发者,或者导致不必要的冲突。 接下来,我要确定正确的屏蔽方式。对于文件夹,通常的做法是在.gitignore文件中添加文件夹的名称,后面加上斜杠/,这样可以明确表示这是一个目录而不是文件。所以,正确的写法应该是.idea/。不过,有时候可能直接写.idea也能生效,因为Git会自动识别目录,但加上斜杠更明确,避免可能的误匹配。 然后,需要考虑是否已经将.idea目录提交到了仓库中。如果之前已经提交过,仅仅在.gitignore中添加规则是不够的,还需要从Git的缓存中移除这些文件。这时候需要使用git rm --cached命令,例如git rm --cached -r .idea,然后重新提交。这样,之后的变更就不会再被跟踪了。 可能用户已经遇到了即使添加了.gitignore规则,但.idea仍然被跟踪的情况,这可能是因为缓存没有清理。这时候需要提醒用户清除缓存的重要性。另外,还要确认.gitignore文件的位置是否正确,通常应该放在项目的根目录下,否则规则可能不会生效。 还有,可能需要检查是否有其他.gitignore文件或全局的.gitignore配置覆盖了当前规则,但这种情况相对少见,除非用户有特别设置。所以重点还是放在项目根目录的.gitignore文件和缓存处理上。 总结一下,步骤应该是:在.gitignore中添加.idea/,然后如果已经提交过,使用git rm --cached来移除,再提交.gitignore的更改。同时,提醒用户注意文件位置和缓存的问题,确保规则生效。</think>在.gitignore文件中屏蔽.idea文件夹的操作步骤如下: 1. **创建/编辑.gitignore文件** 在项目根目录下新建或修改`.gitignore`文件(无后缀名) 2. **添加屏蔽规则** 在文件中添加以下任意一种形式: ```gitignore # 明确指定目录(推荐写法) .idea/ # 或直接匹配目录名(效果相同) .idea ``` 3. **保存文件**后,Git会自动应用新规则 4. **处理已提交的情况**(如果之前已提交过该目录) ```bash # 从Git缓存中移除已跟踪的.idea目录 git rm --cached -r .idea # 提交本次变更 git commit -m "移除.idea目录的版本跟踪" ``` **注意:** - 斜杠`/`后缀明确表示屏蔽的是目录而非同名文件 - 规则应写在项目根目录的.gitignore中才有效 - 如果使用IDE自带的功能生成.gitignore,通常已包含对.idea目录的屏蔽规则 - 对于JetBrains系列IDE(IDEA/WebStorm等),建议同时屏蔽其他IDE配置文件: ```gitignore # 推荐完整的JetBrains IDE屏蔽配置 .idea/ *.iml modules.xml *.ipr *.iws ``` **验证方法**:执行`git status`命令,确认.idea目录不再出现在未跟踪文件列表中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值