gitignores手册

名称

gitignore-指定特定的不被跟踪的文件

概要

与$GIT_DIR/info/exclude和.gitignore等文件有关

介绍

一个gitignore文件指定不被git所追踪的文件。已经被追踪的文件不受影响。见下面的“注意”;

gitignore每一行指定一种模式。当git决定是否忽略某个路径时,它检查多个gitignore文件的模式,从高到低优先级通过下面规则确定。

  • 来自于支持使用模式的命令行命令
  • 来自于文件系统中的.gitignore文件。目录结构较高的.gitignore模式将被较近的.gitignore覆盖
  • 来自$GIT_DIR/info/exclude
  • 被配置变量core.excludesfile指定文件中的模式

如果你想让团队里所有成员的git都不追踪某些文件,可以使用.gitignore;如果你只想在自己的仓库中不追踪某些文件,可以通过在$GIT_DIR/info/exclude中设置;如果你想让自己拥有的所有仓库都不追踪某些文件,可以在~/.gitconfig中的core.excludesfile指定全局忽略文件的地址。

模式格式

  • 空白行不匹配文件。可作为分隔符增加可读性
  • 以#开头的行是注释
  • 可选的!前缀将否定模式,任何匹配该模式并被忽略的文件将重新受到追踪。当然该文件需要有更高的优先级
  • 以/结尾的模式将会匹配特定的文件夹以及它下面的文件
  • 如果包含/结尾。git将匹配相对于.gitignore文件的路径(如果没有.gitignore则从顶级工作目录开始$GIT_DIR)
  • 通配符并不匹配/
  • 以/开头的模式匹配文件名开头。如"/*.c" 匹配 "cat-file.c" 但不匹配 "mozilla-sha1/sha1.c".

注意

gitignore的目的是保证一些不被追踪的文件仍然不被追踪;

忽略已被追踪文件还未提交的改变使用 git update-index --assume-unchanged;

停止已经追踪的文件git rm --cached

示例

    $ git status
    [...]
    # Untracked files:
    [...]
    #       Documentation/foo.html
    #       Documentation/gitignore.html
    #       file.o
    #       lib.a
    #       src/internal.o
    [...]
    $ cat .git/info/exclude
    # ignore objects and archives, anywhere in the tree.
    *.[oa]
    $ cat Documentation/.gitignore
    # ignore generated html files,
    *.html
    # except foo.html which is maintained by hand
    !foo.html
    $ git status
    [...]
    # Untracked files:
    [...]
    #       Documentation/foo.html
    [...]

    $ cat .gitignore
    vmlinux*
    $ ls arch/foo/kernel/vm*
    arch/foo/kernel/vmlinux.lds.S
    $ echo '!/vmlinux*' >arch/foo/kernel/.gitignore


参考

http://git-scm.com/docs/gitignore

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值