Git .gitignore文件说明

参见:https://book.git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%AE%B0%E5%BD%95%E6%AF%8F%E6%AC%A1%E6%9B%B4%E6%96%B0%E5%88%B0%E4%BB%93%E5%BA%93

一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。 来看一个实际的例子:

$ cat .gitignore
*.[oa]
*~

第一行告诉 Git 忽略所有以 .o 或 .a 结尾的文件。一般这类对象文件和存档文件都是编译过程中出现的。 第二行告诉 Git 忽略所有以波浪符(~)结尾的文件,许多文本编辑软件(比如 Emacs)都用这样的文件名保存副本。 此外,你可能还需要忽略 log,tmp 或者 pid 目录,以及自动生成的文档等等。 要养成一开始就设置好 .gitignore 文件的习惯,以免将来误提交这类无用的文件。

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

  • 所有空行或者以  开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 模式匹配。
  • 匹配模式可以以(/)开头防止递归。
  • 匹配模式可以以(/)结尾指定目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。 星号(*)匹配零个或多个任意字符;[abc]匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。 使用两个星号(*) 表示匹配任意中间目录,比如`a/**/z` 可以匹配 a/za/b/z 或 `a/b/c/z`等。

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

# no .a files
*.a

# but do track lib.a, even though you‘re ignoring .a files above
!lib.a

# only ignore the TODO file in the current directory, not subdir/TODO
/TODO

# ignore all files in the build/ directory
build/

# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt

# ignore all .pdf files in the doc/ directory
doc/**/*.pdf

原文地址:https://www.cnblogs.com/junge8618/p/9158484.html

时间: 2024-10-11 13:29:07

Git .gitignore文件说明的相关文章

Git .gitignore文件的使用

本文转载自 http://blog.csdn.net/xmyzlz/article/details/8592302 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法.这个文件每一行保存了一个匹配的规则例如: # 此为注释 – 将被 Git 忽略 *.a       # 忽略所有 .a 结尾的文件            !lib.a    # 但 lib.a 除外            /TODO     # 仅仅忽略项目根目录下的 TOD

git .gitignore文件

在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,则需自己手工建立此文件). 一.创建 .gitignore 文件 1.在需要创建 .gitignore 文件的文件夹, 右键选择Git Bash 进入命令行,进入项目所在目录. 2.输入 touch .gitignore ,生成".gitignore"文件. 3.在".gitignore" 文件里输入你要忽略的文件夹及其文件就可以了.

git .gitignore 文件 解决二进制文件冲突问题

.gitignore  主要是添加 忽略文件 .最近团队开发经常出现 UserInterfaceState.xcuserstate 冲突,打开发现是二进制文件 ,没法解决冲突. 只好 rm -rf 之.次数多了真烦啦,找到 .gitignore 添加 UserInterfaceState.xcuserstate 不纳入版本管理.一劳永逸 推荐个 iOS 常用的 gist  :https://gist.github.com/mmorey/6931793

git学习(三).gitignore文件忽略和删除本地以及远程文件

一.Git提供了文件忽略功能.当对工作区某个目录或者某些文件设置了忽略后,git将不会对它们进行追踪 问题:最近在github做一个项目,每次成生成的log日志文件和本地IDE的.idea/workspace.xml,每次提交说没有跟踪文件,更郁闷的的我的项目有在本地虚拟机,有时候会出现没有权限跟踪文件. 今天特意解决下问题: 这里有详细的学习:https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%AE%B0%E5%BD%95%E6%

Git中.gitignore文件的使用

??在我们使用git的时候,有时候就不想传一些与代码无关的文件到远程仓库中,比如说编译后的文件,.gitignore就可以帮助我们处理这些文件. 生成.gitignore文件在git bash中使用命令touch .gitignore,就可以在当前目录下生成.gitignore文件 编辑.gitignore文件在git bash中,使用vi .gitignore就可以编辑此文件,编辑结束后按Esc然后按:,最后输入wq表示保存退出,输入q表示不保存退出.这与在Linux终端中的操作是一样的. .

git中.gitignore 文件

现在项目的根目录放了 .gitignore 文件,并且git远程仓库的项目根目录已经有了 logs文件夹. 由于每次本地运行项目,都会生成新的log文件,但是我并不想提交logs文件夹里面的内容,所以要在.gitignore写logs的规则. 我尝试过添加以下规则 logs/*.log logs/ /logs/ 但是运行git status的时候,始终能看到modified:logs/xx.log . 请问是我的规则编写错误,还是我某个地方有理解错误? 回答一: tl;dr: 正确的做法应该是:

第四十四篇、iOS开发中git添加.gitignore文件

.gitignore文件可以直接使用https://github.com/github/gitignore 1.在项目中设置忽略文件(1)将从github上荡下来的对应的.gitignore文件(Swift.gitignore,就是swift项目需要的忽略文件)放到项目根目录,并且改名为.gitignore(去掉'.'之前的语言标识字符串)$ mv Swift.gitignore .gitignore (2)提交一次工程到仓库$ git add . $ git commit -m "添加项目忽略

git的 .gitignore 文件编写

.gitignore 是为了让 git 忽略某些文件的管理而存在的,有一些文件是根据用户的电脑环境生成的,非但对代码没有任何作用,甚至还会导致更新或者同步失败.所以,我们需要 .gitignore 文件 其创建主要有三种方式: [方式一] 在仓库目录下新建一个名为.gitignore的文件(因为是点开头,没有文件名,没办法直接在windows目录下直接创建,必须通过右键Git Bash,按照linux的方式来新建.gitignore文件).如下图所示. .gitignore文件对其所在的目录及所

Git 的 .gitignore 文件作用

放在前面:如果你在创建 .gitignore 文件之前就已经 push 了工程,那之后再修改会比较麻烦!! 在项目工程中,常会生成一些运行缓存,而这些是不能 push 的,所以需要 .gitignore 配置规则来过滤. 配置规则: 以 # 开头行为注释 以斜杠"/"开头表示目录: /target/ 过滤根目录的 target 文件夹 target/ 过滤任何目录包含的 target 文件夹 以星号"*"通配多个字符: *.zip 过滤所有.zip文件 以问号&qu