为什么有不同的方法来指定 .gitignore 中的目录

why there are different ways to specify a directory in .gitignore

我注意到在下面的 .gitignore 文件中,logs 文件夹被指定为 logs.ideaout 被指定为 /.idea/out?为什么?什么时候应该在目录或文件名前使用 /

logs
project/project
project/target
target
tmp
.history
dist
/.idea
/*.iml
/out
/.idea_modules
/.classpath
/.project
/RUNNING_PID
/.settings

/folder 仅匹配 git 存储库根目录中名为 folder 的文件夹。

例如,考虑以下文件夹:

.
├── logs
│   └── logs1
├── subdir
│   ├── logs
│   │   └── logs3
│   ├── logs2
│   └── temp
│       └── temp2
└── temp
    └── temp1

5 directories, 5 files

和以下 .gitignore

logs
/temp

./logs./subdir/logs 都被忽略,而只有 ./temp 被忽略(而不是 ./subdir/temp