文件未在 Git 状态中显示,但应如此

文件未在 Git 状态中显示,但应如此

这是我的 .gitignore 文件:

# Ignore everything by default.
*

# Zsh
!.zshrc

# Git
!.gitconfig
!.gitignore

# Lock.sh
!.config/lock.sh

# Xresources
!.Xresources

但当我这样做时git add .config/lock.sh

The following paths are ignored by one of your .gitignore files:
.config/lock.sh
Use -f if you really want to add them.

并且它没有出现在git status

答案1

Git的SCM

可选前缀“!”可否定模式;任何被上一个模式排除的匹配文件将再次被包含。如果该文件的父目录被排除,则无法重新包含该文件。出于性能原因,Git 不会列出排除的目录,因此包含文件上的任何模式均无效,无论它们在哪里定义。对于以文字“!”开头的模式,请在第一个“!”前面加上反斜杠(“\”),例如“!important!.txt”。

这可能是原因。此外,你还可以选择将其包括在内。排除每个文件似乎很奇怪。

相关内容