美文网首页
git文件忽略

git文件忽略

作者: jnxc1888 | 来源:发表于2018-06-11 11:25 被阅读9次

    附录:
    git文件忽略操作参考
    git官方各大IDE、框架忽略集合

    1、从svn转到git,有将项目中的svn文件删除的需求

    //删除文件夹下的所有 .svn 文件
    
    find . -name ".svn" | xargs rm -Rf
    
    //删除文件夹下的所有 .git 文件
    
    find . -name ".git" | xargs rm -Rf
    

    2、如果是旧的项目新加入git

    git init
    

    新增.gitignore文件,范例如下

    # Compiled source #  
    ###################  
    *.com  
    *.class  
    *.dll  
    *.exe  
    *.o  
    *.so  
      
    # Packages #  
    ############  
    # it's better to unpack these files and commit the raw source  
    # git has its own built in compression methods  
    *.7z  
    *.dmg  
    *.gz  
    *.iso  
    *.jar  
    *.rar  
    *.tar  
    *.zip  
      
    # Logs and databases #  
    ######################  
    *.log  
    *.sql  
    *.sqlite  
      
    # OS generated files #  
    ######################  
    .DS_Store  
    .DS_Store?  
    ._*  
    .Spotlight-V100  
    .Trashes  
    Icon?  
    ehthumbs.db  
    Thumbs.db
    

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

    • 所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
    • 可以使用标准的 glob 模式匹配。
    • 匹配模式最后跟反斜杠(/)说明要忽略的是目录。
    • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
    
    所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。
    星号(*)匹配零个或多个任意字符;
    [abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);
    问号(?)只匹配一个任意字符;
    如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如[0-9]表示匹配所有 0 到 9 的数字)。
    
    我们再看一个 .gitignore 文件的例子:
    
    *.a # 忽略所有 .a 结尾的文件
    !lib.a # 但 lib.a 除外
    /TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
    build/ # 忽略 build/ 目录下的所有文件
    doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
    
    tmp.txt         //忽略tmp.txt
    *.log           //忽略所有log文件
    tmp/*           //忽略tmp文件夹所有文件
    log/**/*.log    //忽略log目录下的包括子目录下的所有log文件
    其他的一些过滤条件
    
    ?:代表任意的一个字符
    *:代表任意数目的字符
    {!ab}:必须不是此类型
    {ab,bb,cx}:代表ab,bb,cx中任一类型即可
    [abc]:代表a,b,c中任一字符即可
    [ ^abc]:代表必须不是a,b,c中任一字符
    由于git不会加入空目录,所以下面做法会导致tmp不会存在
    
    tmp/*             //忽略tmp文件夹所有文件
    改下方法,在tmp下也加一个.gitignore,内容为
    
    *
    !.gitignore
    还有一种情况,就是已经commit了,再加入gitignore是无效的,所以需要删除下缓存
    
    git rm --cached ignore_file
    这样就OK了。
    

    3、如果是旧的git的项目新增ignore

    需要用命令将ignore的文件先删除,再做第2步的操作

    git rm --cached filename
    

    相关文章

      网友评论

          本文标题:git文件忽略

          本文链接:https://www.haomeiwen.com/subject/cnwceftx.html