在任何当前工作的 Git 仓库中,每个文件都是这样的:
git add
添加)和提交(用 git commit
提交)到主仓库的文件和目录。git add
命令添加)的任何新文件或目录。所有被忽略的文件都会被保存在一个 .gitignore
文件中。
.gitignore
文件是一个纯文本文件,包含了项目中所有指定的文件和文件夹的列表,这些文件和文件夹是 Git 应该忽略和不追踪的。
在 .gitignore
中,你可以通过提及特定文件或文件夹的名称或模式来告诉 Git 只忽略一个文件或一个文件夹。你也可以用同样的方法告诉 Git 忽略多个文件或文件夹。
通常,一个 .gitignore
文件会被放在仓库的根目录下。根目录也被称为父目录和当前工作目录。根目录包含了组成项目的所有文件和其他文件夹。
也就是说,你可以把它放在版本库的任何文件夹中。你甚至可以有多个 .gitignore
文件。
要在基于 Unix 的系统(如 macOS 或 Linux)上用命令行创建一个 .gitignore
文件,打开终端程序(如 macOS 上的 Terminal.app)。然后,用 cd
命令导航到包含项目的根文件夹,并输入以下命令,为你的目录创建一个 .gitignore
文件:
touch .gitignore
名字前面有点(.
)的文件默认是隐藏的。
当单独使用 ls
命令时,隐藏的文件是不可见的。要从命令行查看所有的文件–包括隐藏的文件–请在 ls
命令中使用 -a
标志,如图所示:
ls -a
- idea
-
- target/
-
- *.iml
-
- !main.iml
-
- /test
-
- *.class
-
- demo/*.txt
-
- demo/**/*.txt
.idea: 排除所有的idea文件或目录(这里的所有包括当前目录和其他目录,也就是说会递归查找目录,
下面的所有都是同理)
target/: 排除掉所有的target目录
*.iml: 排除所有的.iml文件
!main.iml:不要排除main.iml文件,配合上面的*.iml一起使用就是 排除所有.iml文件,但是不排除main.iml文件
/test:只排除当前目录下的test目录,不排除其他目录下的test目录,比如src/test就不会被排除
*.class:排除所有类文件
demo/*.txt:排除所有demo目录下的txt文件,只在demo目录下查找,比如demo/update.txt
demo/**/*.txt:排除所有demo目录下的txt文件,在demo目录及其子目录下查找,比如demo/a/update.txt, demo/update.txt
*.jar:排除所有打包文件