版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/so_geili/article/details/82317476
一、背景
在使用Maven进行依赖管理的项目中,有用的文件基本上就是src目录和pom.xml文件。当我们在使用Eclipse、Intellij Idea或其他的IDE导入Maven项目后,都会在项目的根目录下生成和IDE相关的配置文件,有些文件可能还依赖当前的计算机。因为这些配置文件对项目无关紧要,只对当前的电脑和IDE有效。这些文件如果上传到代码仓库,其他伙伴pull代码后在另外一台电脑上运行时可能出现各种错误。因此,我们在版本控制中要忽略这类配置文件。
在git中忽略配置文件很简单,在项目的顶层目录或具体某个目录中添加一个名为“.gitignore”的文件即可。
在Windows系统下,仅有文件扩展名而无文件名字时,无法创建成功。这种情况下有两种创建方式。
方式一:打开“CMD”或者“Git Bash”,输入下面的命令:
$ echo ''>.gitignore
方式二:
创建一个文件,文件名为:“.gitignore.”,注意前后都有一个点。保存之后系统会自动重命名为“.gitignore”。
二、.gitignore 的格式规范如下:
- 所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
- 可以使用标准的 glob 模式匹配。
- 匹配模式最后跟反斜杠(/)说明要忽略的是目录。
- 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
例如:
- /mtk/ 过滤整个文件夹
- *.zip 过滤所有.zip文件
- /mtk/do.c 过滤某个具体文件
三、.gitignore文件通用模板
除了知道这些基本的规则之外,还需要设置一些通用的模板,帮助我们快速的开发。
# Eclipse
.classpath
.project
.settings/
# Intellij
.idea/
*.iml
*.iws
*.ipr
/out/
# Mac
.DS_Store
# Maven
log/
target/
build/
# Package Files #
*.jar
*.war
*.ear
*.zip
*.tar.gz
*.rar
# Log file
*.log
# Java
*.class
*-api/target/
*-api-impl/target/
*-data/target/
*-common/target/
*-service/target/
*-rpc/target/
exitStatus*
# svn
.svn/
# Other
*.versionsBackup
tmp
temp
/.idea/
/bin/
四、定义Git全局的 .gitignore 文件
除了可以在项目中定义 .gitignore 文件外,还可以设置全局的 git .gitignore 文件来管理所有Git项目的行为。这种方式在不同的项目开发者之间是不共享的,是属于项目之上Git应用级别的行为。
这种方式也需要创建相应的 .gitignore 文件,可以放在任意位置。然后在使用以下命令配置Git:
git config --global core.excludesfile ~/.gitignore