在git的使用过程中,有很多文件是不需要被提交到版本管理的,比如mac的朋友都知道.DS_Store 文件在每个文件夹中都会出现,但是这个文件对代码同步来说并没有什么作用,所以我们需要把这个文件排除在b岸本管理之外,这个时候就需要我们问答的 gitignore文件来搞定了。
首先声明我的使用环境为mac,所以windows使用起来有更简单的方法,或者有些命令windows不能使用
默认情况之下gitignore文件是不存在的,我们需要把这个文件新建一下,在终端中你首先cd到你的工程目录下,然后输入命令
touch .gitignore
这样你就可以在文件中新增一个.gitignore隐藏文件。
可以使用
ls -all 或者linux下使用 ll
进行查看,之后对文件进行编辑
vi .gitignore
在vi中使用 i 命令对文件进行编辑,然后点击esc 使用 :wq命令进行保存
1、配置语法:
以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
2、示例:
(1)规则:fd1/*
说明:忽略目录 fd1 下的全部内容;注意,不管是根目录下的 /fd1/ 目录,还是某个子目录 /child/fd1/ 目录,都会被忽略;
(2)规则:/fd1/*
说明:忽略根目录下的 /fd1/ 目录的全部内容;
(3)规则:
/*
!.gitignore
!/fw/bin/
!/fw/sf/
说明:忽略全部内容,但是不忽略 .gitignore 文件、根目录下的 /fw/bin/ 和 /fw/sf/ 目录;
例如我配置的是
launchConfigurations/
.DS_Store
test.txt
之后提交到远端就可以了
但是如果你需要忽略的文件意境存在在远端中了,那么你需要将远端中的文件删除掉才可以:
使用git rm --cached .DS_Store
进行删除
git rm –cached 把文件.DS_Store从git的索引库中移除,但是对文件.DS_Store本身并不进行任何操作也就是说本地还是有.DS_Store文件的,但是远端却没有了
之后再使用git commit /push 之后提交上去
这样就不会再用担心这个文件的冲突了