我的文件夹结构如下:
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
foo.js
.gitignore
a/b/* !a/b/**/foo.js
但好像不管用有什么建议吗?
dfuffjeb1#
问题是a/b/*与目录a/b/c、a/b/d等匹配,因此取消忽略这些已经被忽略的目录中的文件没有帮助。我认为你可以先忽略所有路径,然后取消忽略所有目录(结尾的斜杠- Git不跟踪空目录),这样就可以最终取消忽略你想要的特定文件:
a/b/*
a/b/c
a/b/d
a/b/**/* !a/b/**/*/ !a/b/**/foo.js
jjhzyzn02#
首先,使用以下命令检查您的Git版本:
git --version
看看哪种选择最适合你根据gitignore 2.41以下版本和2.34以上版本的文档,类似于以下的结构应该可以工作:
a/* !a/b.py
因此,应该使用如下结构:
a/b/** !a/b/**/ !a/b/**/foo.js
请确保将此结构放在.gitignore文件中,该文件位于Git存储库的根目录。
2条答案
按热度按时间dfuffjeb1#
问题是
a/b/*
与目录a/b/c
、a/b/d
等匹配,因此取消忽略这些已经被忽略的目录中的文件没有帮助。我认为你可以先忽略所有路径,然后取消忽略所有目录(结尾的斜杠- Git不跟踪空目录),这样就可以最终取消忽略你想要的特定文件:
jjhzyzn02#
首先,使用以下命令检查您的Git版本:
看看哪种选择最适合你
根据gitignore 2.41以下版本和2.34以上版本的文档,类似于以下的结构应该可以工作:
因此,应该使用如下结构:
请确保将此结构放在.gitignore文件中,该文件位于Git存储库的根目录。