.gitignore 文件


官网不同语言的 .ignore :

https://github.com/github/gitignore/tree/main


规则

基本规则

  • 使用 # 作为注释
  • .gitignore 文件中,每行表示一种模式;
  • 空行不匹配任何文件;
  • git 跟踪文件,而不是目录;
  • 如果本地仓库文件已被跟踪,那么即使在 .gitignore 中设置了忽略,也不起作用。
  • .gitignore 文件也会被上传的到远程仓库,所以,同一个仓库的人可以使用同一个.gitignore 文件。

忽略文件和目录

folderName
  • 表示忽略 folderName 文件和 folderName 目录,src/folder 文件、src/utils/folder 文件都会被忽略,即:不会被提交到远程仓库中。
  • 会自动搜索多级目录,比如:*/*/folderName

仅忽略 folderName 文件,不忽略 folderName 目录 (!)

模式如下所示:

folderName
!folderName/
  • 反向操作 ! : 表示之前忽略的匹配模式再次包含在跟踪内容里。
  • src/folderName 文件、src/utils/folderName 文件会被忽略,而同名的 folderName 目录不会被忽略。

只忽略目录 /

folderName/

忽略 folderName 目录,包括:

  • 当前目录下的foldernName,例如:folderName/
  • 多级目录下的 folderName,例如:*/*/folderName/
  • 同名的 src/folder 文件和 src/utils/folder 文件不会被忽略。

使用通配符 * ? []

常用的通配符有:

  • 星号 * :匹配多个字符;
  • 问号?:匹配除 / 外的任意一个字符;
  • 方括号 [xxxx]:匹配多个列表中的字符;
$ tree
.
├── src
│   ├── add.c
│   ├── add.i
│   └── add.o
├── test.c
├── test.i
└── test.o

1 directory, 6 files

其中,.gitignore 文件内容如下所示:

*.[io] 
  • 故在本地仓库中,test.i 文件、test.o 文件、src/add.o文件、src/add.i 文件会被忽略
  • test.c 文件和 add.c 文件不会被忽略。
  • 这里忽略的匹配模式是多级目录的。

多级目录 **

斜杠后紧跟两个连续的星号 **,表示多级目录。

src/**/file 

可以表示忽略 src/folder1/filesrc/folder1/folder2/***/foldern/file 等。


2023-07-29(六)

猜你喜欢

转载自blog.csdn.net/lovechris00/article/details/131992991