无法在 Vs Code 上使用 .gitignore 包含来自排除目录的文件

Cannot include a file from an excluded directory with .gitignore on Vs Code

我在 VS Code 中有一个目录,它被排除在 .gitignore 之外。 我们将此目录命名为 txt_files.

在这个目录中,我有一个文件,我想将其包含在我的 git 想法中。我们将此文件命名为 file.txt

这是我的 .gitignore 文件的样子。

#ignore /venv files 
/venv

#ignore vscode files 
.vscode

# txt_files_folder
/txt_files

# include this file
!/txt_files/file.txt

但是当我点击 git status 时,我没有得到任何更新来添加 /txt_files/file.txt

我做错了什么?

要忽略一个文件夹,您可以执行 folder/ 但这将忽略其中的所有内容并且不允许排除。所以你需要做的是:

# Ignore things within txt_files (not txt_files itself)
txt_files/*
# But not file.txt.
!txt_files/file.txt

如果您对整个文件夹进行操作,则意味着无论是否排除,其子项也会被排除

如果您要跟踪的是单个异常txt_files/file.txt

就足够了
git add -f txt_files/file.txt

一次。此后,它将被跟踪并检测到您对该文件所做的任何更改。

(如果您没有命令行,您可以暂时从 .gitignore 中删除 /txt_files,直到您添加了文件。)

如果可以重复发生,或者有文件模式要添加,最好按照