Git的忽略文件

来源:互联网 发布:prezi软件破解版 编辑:程序博客网 时间:2024/05/18 07:07

在日常中,有些文件我们只想本地使用,不想上传到远程仓库中被别人看到,可如果我们不追踪这些文件,git status时Git就会絮絮叨叨的提醒我们工作目录中一些未跟踪的文件,所以我们可以通过.gitignore文件来让获得清净

由于我是在Windows环境下,不能直接创建空文件名的文件,所以去bash里创建(移动到所在目录):

> touch .gitignore

用法:

假如我们要忽略一个临时文件test.tmp,那么在.gitignore文件中写入*tmp即可

《Pro Git》里对.gitignore格式规范的解释:

  • 所有空行或者以注释符号 # 开头的行都会被 Git 忽略
  • 可以使用标准的 glob 模式匹配
  • 匹配模式最后跟反斜杠(/)说明要忽略的是目录
  • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反

glob模式:
指 shell 所使用的简化了的正则表达式

星号(*)匹配零个或多个任意字符

[abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c)

问号(?)只匹配一个任意字符

如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)

所以 *tmp,就是指忽略所有以tmp结尾的文件

再来看一个 .gitignore 文件的例子:

# 此为注释 – 将被 Git 忽略# 忽略所有 .a 结尾的文件*.a# 但 lib.a 除外!lib.a# 仅仅忽略项目根目录下的 TODO 文件# 不包括 subdir/TODO/TODO# 忽略 build/ 目录下的所有文件build/# 忽略 doc 目录下的所有 .txt 文件# 会忽略 doc/notes.txt # 但不包括 doc/server/arch.txtdoc/*.txt

在项目一开始就把.gitignore设置好,可避免不必要的文件对代码产生干扰,比如有些需要本地生成的文件,如果放在远程仓库中被其他人下载使用,也可能会导致程序无法正常运行

参考: Crossin的编程教室

1 0
原创粉丝点击