如何使用git ignore忽略非dotfiles(所有非隐藏目录,在我的存储库的根目录中)?
问题描述:
我想跟踪我的"dotfiles".我希望gitignore忽略所有隐藏文件(文件扩展名:.* ).
I'd like to keep track of my "dotfiles". I'd like a git ignore to ignore all hidden files (file extension: .*).
与以下内容完全相反: Git:如何忽略隐藏目录?
Essentially the opposite of: Git: how to ignore hidden directories?
在我的 .gitignore 中,我尝试过:
[^.]*
# Ignore everything
*
# Include all dot files.
!.*
两者似乎都无法正常工作.
Both which do not seem to work as intended.
MCVE:
mkdir .test .test2
mkdir abc abc2
echo ".keepme" > .test/.keepme
echo ".keepme" > .test2/.keepme
echo ".keepme" > abc/.keepme
echo ".keepme" > abc2/.keepme
echo "keepme" > .test/keepme
echo "keepme" > .test2/keepme
echo "keepme" > abc/keepme
echo "keepme" > abc2/keepme
git init
# attempt 1
echo "[^.]*" > .gitignore
mkdir -p .test/abc/
echo "abc" > .test/abc/abc
git add .gitignore
git commit -m "gitignore"
git add .
git status
答
我需要在/
之前加上前缀,使其仅作用于根目录.
I needed to prepend a /
to have it act on the root directory only.
/[^.]*
此问题帮助:如何仅排除文件从Git的根文件夹中