GitLab/GitHub上传项目时忽略文件规则

平时使用idea或者eclipse时总会有一些自动生成的文件,比如日志文件、编译文件,但是项目上传的时候这些文件是不需要的,而且浪费空间导致项目非常大,所以这些没有用的文件上传的时候需要通过.ignore过滤掉,接下来说一下过滤规则。
git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
以斜杠“/”开头表示目录;

以星号“*”通配多个字符;

以问号“?”通配单个字符

以方括号“[]”包含单个字符的匹配列表;

以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

Windows系统下:
在项目文件中创建一个名为 .gitignore 的文件,列出要忽略的文件模式。

文件中每一行表示需要忽略的文件的正则表达式。
$cat .gitignore 

#ignore .metadata
.metadata
// 有个.metadata,这个是我们不需要的

.gitignore
// 如果不加.gitignore这行,git会把.gitignore也加入版本控制中
#ignore obj and lib file

*.[oa]
// 告诉 Git 忽略所有以 .o 或 .a 结尾的文件

Mac系统下:
cd至Repository的本地目录:

cd ~/Documents/GitHub/Repository

删除当前目录中所有.DS_Store文件:

find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

在当前文件夹以及当前文件夹的子文件夹中找到所有的.DS_Store文件,并将找到的文件通过管道传给xargs来处理。注意几个参数的理解:
-print0
在find后不添加换行符(-print默认会添加换行符)
-0
将管道送来的字符串当做普通的字符串,不做任何转义处理

发布了79 篇原创文章 · 获赞 7 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_44037416/article/details/100989897
今日推荐