从.gitignore恢复排除的文件

wgmfuz8q  于 2023-06-04  发布在  Git
关注(0)|答案(2)|浏览(187)

我的文件夹结构如下:

a/b/c/
a/b/d/s/g/foo.js
a/b/e/t/h/i/foo.js
a/b/f/u/j/foo.js

我正在尝试忽略文件夹a/b,但排除文件foo.js
.gitignore中,我尝试过

a/b/*
!a/b/**/foo.js

但好像不管用
有什么建议吗?

dfuffjeb

dfuffjeb1#

问题是a/b/*与目录a/b/ca/b/d等匹配,因此取消忽略这些已经被忽略的目录中的文件没有帮助。
我认为你可以先忽略所有路径,然后取消忽略所有目录(结尾的斜杠- Git不跟踪空目录),这样就可以最终取消忽略你想要的特定文件:

a/b/**/*
!a/b/**/*/
!a/b/**/foo.js
jjhzyzn0

jjhzyzn02#

首先,使用以下命令检查您的Git版本:

git --version

看看哪种选择最适合你
根据gitignore 2.41以下版本和2.34以上版本的文档,类似于以下的结构应该可以工作:

a/*
!a/b.py

因此,应该使用如下结构:

a/b/**
!a/b/**/
!a/b/**/foo.js

请确保将此结构放在.gitignore文件中,该文件位于Git存储库的根目录。

相关问题