A. 如何在Git中忽略某些文件
1. 介绍
有些文件是我们并不想加入也无需被添加到 Git 管理中,同时也不希望他出现在未跟踪列表中。例如在编译过程中生成的 o 文件。 “.gitignore” 文件可以达到这个效果。
2. 全局与局部
.gitignore 有全局和局部两种:
2.1 全局
通过修改全局配置 git config 中的 excludesfile 指定全局忽略文件。设置方法:
$git config --global core.excludesfile ~/.gitignore
修改 ~/.gitignore 这个文件将作用于所有 git 项目,并且作用于项目实例中的所有被跟踪的目录。比如说我们可以在该文件中添加 *.o 来忽略所有 .o 文件。
2.2 局部
忽略文件默认为当前目录的 .gitignore ,但它只作用于当前目录下。上面说到,在全局的 .gitignore 文件中添加 *.o 会忽略所有目录下产生的 .o 文件,但在当前目录下的 .gitignore 中添加 *.o 却只能忽略当前目录下的 .o 文件。
3. 语法
.gitignore 的语法规范如下:
·所有空行或者以注释符号 # 开头的行都会被 Git 忽略;
·可以使用标准的 glob 模式匹配。 * 匹配模式最后跟反斜杠(/)说明要忽略的是目录。 * 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
glob 模式匹配:
·星号(*)匹配零个或多个任意字符;
·[abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);
·问号(?)只匹配一个任意字符;
·[0-9a-zA-Z] 在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9a-zA-Z] 表示匹配所有 0 到 9 的数字和所有字母);
·\ 转义字符。
注:理论上来说,在要忽略的格式文件后面添加注释是允许的,但经过我的验证,结果发现这样子操作并不能达到预期的效果。
4. 例子
一个 .gitignore 例子。
# 此为注释 – 将被 Git 忽略
# 忽略所有 .a 结尾的文件
*.a
# 但 lib.a 除外
!lib.a
# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
/TODO
# 忽略 build/ 目录下的所有文件
build/
# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt
B. git 已存在的文件,怎么过滤
1. 在需要创建 .gitignore 文件的文件夹, 右键选择 Git Bash 进入命令行,进入项目所在目录。 2. 输入 touch .gitignore 在文件夹就生成了一内个“.gitignore”文件。 然后容在”.gitignore” 文件里输入你要忽略的文件夹及其文件就可以了。
C. 如何创建.gitignore文件,忽略不必要提交的文件
1、进入项目的目录下,点击右键单击【git bash】。
D. git支持哪些文件类型
1. 在需要创建 .gitignore 文件的文件夹, 右键选择
Git Bash 进入命令行,进入项目所在目录。
2. 输入 touch .gitignore 在文件夹就生成了一个“.gitignore”文件。
然后在”.gitignore” 文件里输入你要忽略的文件夹及其文件就可以了。
3.然后用编辑器打开这个文件进行编辑就行了。如果你很牛,熟悉linux下的vi编辑的命令,也可以用命令来声明规则额。在这里就不说了额,
附: vi编辑器的怎么换行呢?
总结:vi保存退出命令x和wq的区别
搜集:不会linux下vi命令,伤不起啊
4.然后就写规则来操作要忽略的文件了。.gitignore文件过滤有两种模式,开放模式和保守模式
4.1开放模式负责设置过滤哪些文件和文件夹
eg:
过滤文件夹设置:
/mtk/ 表示过滤这个文件夹
过滤文件设置
指定过滤某种类型的文件:
*.zip
*.rar
*.via
*.tmp
*.err
指定过滤某个文件:
/mtk/do.c
/mtk/if.h
4.2 b保守模式负责设置哪些文件不被过滤,也就是哪些文件要被跟踪。
跟踪某个文件夹
!/plutommi/mmi
跟踪某类文件
!*.c
!*.h
跟踪某个指定文件
!/plutommi/mmi/mmi_features.h
4.3.配置.gitignore 的简易原则
采用共享模式与保守模式结合配置的办法。eg:一个文件夹下有很多文件夹和文件,而我只想跟踪其中的一个文件,这样设置就可以满足这种情况,先用共享模式把整个目录 都设置为不跟踪,然后再用保守模式把这个文件夹中想要跟踪的文件设置为被跟踪,配置很简单,就可以跟踪想要跟踪的文件。
E. 如何创建.gitignore文件,忽略git不必要提交的文件
1. 在需要创建 .gitignore 文件的文件夹, 右键选择 Git Bash 进入命令行,进入项目所在目录。 2. 输入 touch .gitignore 在文件夹就生成了一个“.gitignore”文件。 然后在”.gitignore” 文件里输入你要忽略的文件夹及其文件就可以了。
F. 使用Git时,怎么忽略不想上传的文件
在进行协作开发代码管理的过程中,常常会遇到某些临时文件、配置文件、或者生成文件内等,这些文件由于不容同的开发端会不一样,如果使用git add . 将所有文件纳入git库中,那么会出现频繁的改动和push,这样会引起开发上的不便。
Git可以很方便的帮助我们解决这个问题,那就是建立项目文件过滤规则。
git中提供两种过滤机制,一种是全局过滤机制,即对所有的git都适用;另一种是针对某个项目使用的过滤规则。个人倾向于第二种。
以我的一个项目为例,该项目用.net开发,.config文件、包括生成的bin/Debug, bin/Release文件等,我希望不加入git管理。
在代码目录下建立.gitignore文件:vim .gitignore ,内容如下:
[plain] view plain
#过滤数据库文件、sln解决方案文件、配置文件
*.mdb
*.ldb
*.sln
*.config
#过滤文件夹Debug,Release,obj
Debug/
Release/
obj/
然后调用git add. ,执行 git commit即可。
G. 如何创建.gitignore文件,忽略git不必要提交的文件
这个文件是后来添加上的.这些已经添加的文件不会自动从git中去掉, 需要你手动完成. 如果是在第一次用git跟踪这些文件之前就添加了.gitignore文件, git就不会添加这些文件. 看你的描述, 应该是你先用git管理了所有的文件后, 才添加的.gitignore文件. 但是你上面的那些文件夹已经被git添加完了.git不会跟踪空文件夹, 如果你需要保留空文件夹, 可以在文件夹里面添加一个空白文件. 类似 .gitkeep,转载,仅供参考。
H. git 如何忽略非指定扩展名的文件
'jsp/1.jsp' 需求1 忽略 java/build 目录包括子目录所有文件 由于历史遗留问题,可能源码目录 java 下,除.java 还会有class 或其他扩展名的文件(a.class)2 忽略 java 目录及子目录 所有 非 .java 文件实现.gitignore中1java/build/将整个build目录忽略 2java/*[!(java)] 的结果'java/dd.java' 'jsp/1.jsp'但子目录 java/com/ 下的 java文件被忽略了 再试java/*/*[!(java)]'java/a.class' 'java/com/dd.java'
I. 如何让Git忽略我的文件
你可以设置屏蔽,他就忽略了你的文件。