zoukankan      html  css  js  c++  java
  • .gitignore

    介绍

    有一些文件与程序代码无关,如像 eclipse/ IntelliJ IDEA 等 IDE 工具留下来的 .settings、.classpath、.project、.iml、.idea 等各种配置文件,还有 一些编译和运行过程中产生的中间文件等。
    我们不能把这些本地化的无用的配置文件提交到远程仓库上面去,这样会造成别人每次都有更新的要求,也会污染别人的开发环境。
    另外还有一些私密的文件,比如签名文件,也是不适合提交的。
    我们可以编写一个.gitignore文件,把不需要跟踪的文件和文件夹写上,git就不会去跟踪这些文件了,另外:.gitignore文件与.git文件夹在同级目录下。

    规则

    使用规则

    .gitignore 是 Git 的忽略配置文件,放在项目根目录下,这样在提交代码时就不会跟踪在.gitignore 配置文件列举的文件。
    特殊情况下,如果你想强制提交一个在忽略列表里面的文件,也可以使用以下命令:
    git add -f 文件名
    如果使用了-f依然不能添加,可能是.gitignore写得有问题,可以用git check-ignore -v 文件名来检查,

    $ git check-ignore -v App.class
    .gitignore:3:*.class App.class

    于是git告诉我们.gitignore的第3行规则忽略了该文件,于是我们就可以知道应该修订哪个规则。
    .gitignore文件不能直接在文件资源管理器中创建,必须使用git命令,
    右键点击根目录的文件夹,选择Git Bash Here,
    然后输入touch .gitignore,就可以在创建.gitignore文件了

    规则优先级

    .gitignore文件中,每一行指定一个忽略规则,Git检查忽略规则的时候有多个来源,它的优先级如下(由高到低)

    1. 从命令行中读取可用的忽略规则
    2. 当前目录定义的规则
    3. 父级目录定义的规则,依次递推
    4. $GIT_DIR/info/exclude 文件中定义的规则
    5. core.excludesfile中定义的全局规则

    编辑规则

    空格不匹配任意文件,可作为分隔符,可用反斜杠转义
    所有空行或者以开头的行都会被Git忽略。
    可以直接在其中输入指定的文件名,也可以使用标准的glob模式匹配。
    匹配模式可以以(/)开头防止递归。
    匹配模式可以以(/)结尾指定目录。
    要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反
    glob模式

    • *:匹配零个或多个任意字符
    • [abc]:只匹配括号内中的任意一个字符
    • [0-9]:代表范围,匹配0-9之间的任何字符?
    • ?:匹配任意一个字符
    • :匹配任意的中间目录,例如a//z可以匹配:a/z,a/b/z,a/b/c/z等

    模板

    模板网上有很多,比如我从(http://www.javastack.cn/article/2018/git-common-gitignore-file/)找了一个比较全的

    ## .gitignore for Grails 1.2 and 1.3
    
    # .gitignore for maven 
    target/
    *.releaseBackup
    
    # web application files
    #/web-app/WEB-INF
     
    # IDE support files
    /.classpath
    /.launch
    /.project
    /.settings
    /*.launch
    /*.tmproj
    /ivy*
    /eclipse
     
    # default HSQL database files for production mode
    /prodDb.*
     
    # general HSQL database files
    *Db.properties
    *Db.script
     
    # logs
    /stacktrace.log
    /test/reports
    /logs
    *.log
    *.log.*
     
    # project release file
    /*.war
     
    # plugin release file
    /*.zip
    /*.zip.sha1
     
    # older plugin install locations
    /plugins
    /web-app/plugins
    /web-app/WEB-INF/classes
     
    # "temporary" build files
    target/
    out/
    build/
     
    # other
    *.iws
     
    #.gitignore for java
    *.class
     
    # Package Files #
    *.jar
    *.war
    *.ear
     
    ## .gitignore for eclipse
     
    *.pydevproject
    .project
    .metadata
    bin/**
    tmp/**
    tmp/**/*
    *.tmp
    *.bak
    *.swp
    *~.nib
    local.properties
    .classpath
    .settings/
    .loadpath
     
    # External tool builders
    .externalToolBuilders/
     
    # Locally stored "Eclipse launch configurations"
    *.launch
     
    # CDT-specific
    .cproject
     
    # PDT-specific
    .buildpath
     
    ## .gitignore for intellij
     
    *.iml
    *.ipr
    *.iws
    .idea/
     
    ## .gitignore for linux
    .*
    !.gitignore
    *~
     
    ## .gitignore for windows
     
    # Windows image file caches
    Thumbs.db
    ehthumbs.db
     
    # Folder config file
    Desktop.ini
     
    # Recycle Bin used on file shares
    $RECYCLE.BIN/
     
    ## .gitignore for mac os x
     
    .DS_Store
    .AppleDouble
    .LSOverride
    Icon
     
     
    # Thumbnails
    ._*
     
    # Files that might appear on external disk
    .Spotlight-V100
    .Trashes
    
    ## hack for graddle wrapper
    !wrapper/*.jar
    !**/wrapper/*.jar
    
  • 相关阅读:
    【五种方法】mybatis使用Map返回时,当value为空时不显示key
    【日常填坑】com.zaxxer.hikari.util.DriverDataSource : Registered driver with driverClassName=com.mysql.
    NVL2(表达式1,表达式2,表达式3)表达式1带或者,与
    oracle存储过程is和begin之间的参数说明
    Idea全局搜索没有把html文件显示出来
    JAVA
    (日常踩坑)idea启动多个tomcat时,报Invalid command '' received警告
    java中impl作用
    localhost:8080要加项目名能访问的解决方法
    【ubuntu】搭建mysql5.7
  • 原文地址:https://www.cnblogs.com/cyx-b/p/13438447.html
Copyright © 2011-2022 走看看