.gitignore文件的使用方法

#一、了解.gitignore
在项目开发过程中,难免会生成一些中间文件。很多时候一个项目包含多个文件,当借助git工具进行版本控制时,如果一个一个添加太麻烦,通常是采用git add .语句将项目中的所有文件一次性添加,此时就会出现将一些不需要的中间文件上传到github的情况。在这个时候,.gitignore文件的忽略规则就能起到很大的帮助,借助其忽略规则,我们可以把不想提交的文件都过滤掉。
一般在github上创建代码仓库时可以选择是否添加.ignore文件,这里要养成一个好习惯,每次新建仓库都记得添加.gitignore文件,如果忘记了,解决办法可参考此链接:忘记添加.gitignore文件该怎么办?
#二、过滤规则

  • 一行只能出现一个语句。
  • 规则的执行顺序是从上到下。
  • 所有空行或者以# 开头的行都会被 Git 忽略。
  • 匹配模式如果是末尾跟“/”则表示过滤目录。
  • *匹配多个字符。
  • 模式前使用“!”表示忽略模式以外的文件或目录。
  • ?匹配单个字符。
  • "[]"匹配放括中的任一字符

1.单语句举例如下:

#过滤项目下的有所.c文件
*.c

#过滤整个项目文件
/*

#过滤目录/filename/
/filename/

#过滤/目录下的所有.cpp文件,无法过滤/filename/name.cpp
/*.cpp

#保留所有的.cpp文件
!*.cpp

#保留/filename/目录及其下所有文件
!/filename/

#保留/目录下所有.c和.o文件
!/*.[co]

2.多语句规则:规则具有保守模式和开放模式两种,可以结合使用。

#过滤/目录下所有文件,但只保留.cpp文件
/*
!/*.cpp

#语句执行顺序从上到下,下面那条语句的执行结果将使上面那条语句无效。整个项目的文件都将被过滤。
!/*.cpp
/*

3.易错点。

#注意:这里单独介绍一种特殊情况,
#过滤/~/文件下的所有目录,但是保留/~/目录下的所有.cpp文件
/*/*
!/*/*.cpp
#如果你还想保留/~/~/目录下的所有.cpp文件,那么这么写就是错误的
#要先保留目录级小的文件,再保留目录级别较大的。
/*/*/*
!/*/*/*.cpp

#如下是正确写法
/*/*/*
!/*/*/*.cpp
/*/*
!/*/*.cpp
#下面这条语句将无效,因为一行只能出现一个语句。
*.c	#注释内容

#在用多语句规格时应该注意上下语句的目录等级应该一致。
#正确语句,上下都是三级目录
/filename1/filename2/*
!/filename1/filename2/*.cpp

#错误语句,上面二级目录,下面是三级目录
/filename1/filename2/
!/filename1/filename2/*.cpp

#错误语句,上面是二级目录,下面是三级目录
/filename1/*
!/filename1/filename2/*.cpp

#过滤/a1/b/,/a2/b/,/b/等等目录下所有文件
b/*

#过滤/b/下的所有目录
/b/*

4.每次修改完.gitignore文件后,运行以下命令执行更改。
详情请参考:修改了.gitignore文件后该怎么办?

git rm -r --cached .
git add .
git commit -m "描述性语句"
git push

欢迎评论区留言提问。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页