如何正确排除所有文件或仅排除给定目录中的一个文件?

How to properly exclude all the files or just one in a given directory?

我的目录结构如下:

$ tree config/
config/
├── config.ini
├── help.ini
└── services.yaml

这是 Git 项目的一部分,但在 .gitignore 文件中我看到以下内容:

config/*
/config/config.ini
config/config.ini

因此,文件 config/config.ini 不应该在存储库中。

排除config/下所有文件的正确方法是什么以及如何从上游删除它们?

首先,删除(或移出存储库)config.ini(+您要排除的任何其他内容)并提交。

接下来,将您的 .gitignore 更改为如下所示:

config

(假设.gitignoreconfig/处于同一级别)

提交对 .gitignore 文件的更改。

从现在开始对 config/ 中任何内容的所有更改都不应被跟踪。