zoukankan      html  css  js  c++  java
  • [git] ignore文件规则失效

    背景

    在某次项目,发现已经将.iml规则写进.ignore文件,但是对.iml的修改依然会出现在changelist中。

    解决方案

    先引用git官网上的描述

    gitignore - Specifies intentionally untracked files to ignore

    .gitignore只能忽略那些没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态)

    git rm -r --cached .
    git add .
    git commit -m 'update .gitignore'
    

    拓展

    • git ignore规则

      • 空行不匹配任何文件,可以提高可读性
      • #开头的行会被当作注释
      • !取反,之前被ignore的文件会重新include
      • /结尾的规则,只会匹配文件夹
      • 规则中不包含/,git会查找相对于ignore的位置
      • 通配符不匹配路径中的/
      • **/开头的规则匹配所有的文件夹 eg:**/target匹配任何文件夹下的target文件或文件夹
      • /**结尾的规则递归匹配该文件夹下的所有内容 eg:src/**匹配src下面所有的文件或文件夹
      • 规则中包含/**/匹配0个或多个文件夹 eg:a/**/b匹配a/b,a/z/b,a/d/s/b...
    • intellij的“bug”

      intellij中编辑ignore规则命中的文件时,其插件version control会短暂出现在changelist,有两个方案可以清除这个问题。

      1. cmd+s保存文档
      2. 切换application动作发生,例如从IDE切换到桌面这种动作

    参考文档

    git .ignore

    作者: zhaoyanghoo
    出处: http://www.cnblogs.com/zhaoyanghoo/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    pip 安装依赖 requirements.txt
    TCP三次握手四次挥手详细理解附面试题
    装饰器修复技术
    BBS(第一篇)
    Auth模块
    Django--中间件
    cookie和session
    创建多对多表关系的三种方式
    批量插入数据,自定义分页器
    Django--几个重要方法优化(面试重点)
  • 原文地址:https://www.cnblogs.com/zhaoyanghoo/p/5691474.html
Copyright © 2011-2022 走看看