美文网首页
Git 的 .gitignore 配置

Git 的 .gitignore 配置

作者: Theshy | 来源:发表于2016-07-06 18:53 被阅读152次

    git中提供两种过滤机制
    - 全局过滤机制,即对所有的git都适用
    - 针对某个项目使用的过滤规则。

    .gitignore 配置文件用于配置不需要加入版本管理的文件,配置好该文件可以为我们的版本管理带来很大的便利,以下是个人对于配置 .gitignore 的一些心得。问题:.gitignore只适用于尚未添加到git库的文件。如果已经添加了,则需用git rm移除后再重新commit

    第一步:添加.gitignore文件

    往项目根目录添加一个文件.gitignore这文件和.git文件夹同级。

    第二步:设置过滤条件

    • 配置语法:
     以斜杠“/”开头表示目录;
    
     以星号“*”通配多个字符;
    
     以问号“?”通配单个字符
    
     以方括号“[]”包含单个字符的匹配列表;
    
     以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
    
     此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
    
    • 示例:

    (1)规则:fd1/*

    说明:忽略目录 fd1 下的全部内容;注意,不管是根目录下的/fd1/目录,还是某个子目录/child/fd1/目录,都会被忽略;

    (2)规则:/fd1/*

    说明:忽略根目录下的 /fd1/ 目录的全部内容;

    (3)规则:

    /*
    !.gitignore
    !/fw/bin/
    !/fw/sf/
    */
    

    说明:忽略全部内容,但是不忽略.gitignore文件、根目录下的 /fw/bin//fw/sf/ 目录;

    第二种方法:可以修改.git/info/exclude文件来实现。

    举例如下:

    vi .git/info/exclude
    
    # git ls-files --others --exclude-from=.git/info/exclude
    
    # Lines that start with '#' are comments.
    
    # For a project mostly in C, the following would be a good set of
    
    # exclude patterns (uncomment them if you want to use them):
    
    # *.[oa]
    
    # *~
    
    *.[oa] #忽略以.o或.a结尾的文件或目录
    
    *.pyc 
    
    *.exe #忽略以.exe结尾的文件或目录
    
    .* #忽略以.开头的文件或目录
    
    *.rar
    
    *.zip
    
    *.gz
    
    *.bz2
    
    *.db
    
    *.sqlite
    
    

    摆脱 UserInterfaceState.xcuserstate给Xcode 版本控制(git)带来的困扰

    当添加到缓存区的时候命令 rm 移除不了文件

    错误提示:

    zizp:NightCafe zizp$ git rm .DS_Store
    
    error: the following file has changes staged in the index: .DS_Store
    
    (use --cached to keep the file, or -f to force removal)
    

    解决方法:

    $ git rm --cached iLedger.xcodeproj/project.xcworkspace/xcuserdata/Alex.xcuserdatad/UserInterfaceState.xcuserstate
    
    $ git commit -m "Removed the stupid strange file that shouldn't be tracked"
    
    $ git push
    

    或者是

    $ git rm -f NightCafe.xcworkspace/xcuserdata/zizp.xcuserdatad/UserInterfaceState.xcuserstate
    

    相关文章

      网友评论

          本文标题:Git 的 .gitignore 配置

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