.gitignore 文件使用说明

我们在使用 Git 进行版本控制的时候,有些文件是无需纳入 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 的数字)。

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

# 忽略所有 .a 结尾的文件
*.a

# 但 lib.a 除外
!lib.a

# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
/TODO

# 忽略 build/ 目录下的所有文件
build/

# 会忽略 doc/notes.txt 但不包括 doc/server/notes.txt
doc/notes.txt

其他信息可以直接 man gitignore 查看。

此外推荐一个自动生成 .gitignore 文件的网址:http://www.gitignore.io/
对于iOS开发者,推荐一个 gist :https://gist.github.com/mmorey/6931793
时间: 2024-08-05 11:14:51

.gitignore 文件使用说明的相关文章

.gitignore文件使用说明

一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表.通常都是些自动生成的文件,像是日志或者编译过程中创建的等等.我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式,来看一个简单的例子: $ cat .gitignore *.[oa] *~ 第一行告诉 Git 忽略所有以 .o 或 .a 结尾的文件.一般这类对象文件和存档文件都是编译过程中出现的,我们用不着跟踪它们的版本.第二行告诉 Git 忽略所有以波浪符(~)结尾的文件,许多文本编辑软件(比

改动过.gitignore文件之后设置生效

改动过.gitignore文件之后,在repo的根目录下运行: git rm -r --cached . git add . 之后可以进行提交: git commit -m "fixed untracked files"

.gitignore文件的创建

git中若不想把一些文件提交到版本库,可以在工作区的根目录下创建.gitignore文件忽略指定的文件. 1.创建.gitignore文件使用命令"touch .gitignore",创建完之后则要对.gitignore文件编辑,设置要忽略的文件. 1)可以直接打开.gitignore文件(比如用Notepad++)进行编辑 这样设置后,我们对除.gitignore文件外的所有文件进行修改,测试用文件夹中内容如下: 修改后用".git status"命令查看工作空间

Windows系统新建gitignore文件出现“必须键入文件名”错误的解决办法

今天打算把本地的项目用git推送到github上去,但是有的信息我又不想把它加入到版本控制系统中去,例如.classpath文件和.class文件等等,这个时候我就想到了使用.gitignore文件把不需要做版本控制的文件排除出去,我打算在我的项目根目录下新建一个.gitignore文件,当我写好文件名并按下回车键的时候我得到了这个错误: 不知道从Windows的哪个版本开始,系统不能创建.xxx的文件了,我记得XP系统还可以创建这种文件的.谷歌了各种解决方案,最终在stackoverflow上

添加gitignore文件没有起作用怎么办

步骤一: 如果有未提交的文件先提交到Git. 步骤二: 在Git根目录下执行下面的Git命令: git rm -r --cached . git add . git commit -m "fixed untracked files" tips: 可以在https://www.gitignore.io/里自动生成.gitignore文件.(注意生成的文件名为gitignore,前面没有点,在移到项目目录前记得改名为.gitignore) 参考资料:.gitignore does not

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: 正确的做法应该是:

Git .gitignore文件的使用

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

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%