gitignore规则始终包含具有特定名称的文件夹

问题描述 投票:1回答:1

我的项目根文件夹中有一个root .gitignore文件(Visual Studio)。在一些子文件夹中,我有一个名为3rdParty的文件夹,其中包含lib,debug和release等文件夹,其中包含dll文件。

enter image description here

我想将这些提交给我的GIT回购。

在我的.gitignore on rootlevel上,调试和发布被排除在外。

[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/

我已经尝试将.gitignore文件放在几个没有调试和发布规则的3rdParty文件夹中。

#[Dd]ebug/
#[Dd]ebugPublic/
#[Rr]elease/
#[Rr]eleases/

但那没用。有没有办法可以设置一个!在我的根.gitignore中规则,以便包含所有级别上名为3rdParty的所有文件夹?

git gitignore
1个回答
1
投票

规则!** / 3rdParty / **毕竟是诀窍。我有上面的规则:

[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/

当我将规则放在我的.gitignore的底部时,它可以工作。我得到了规则:https://git-scm.com/docs/gitignore

在这个部分:

与完整路径名匹配的两个连续星号(“**”)可能具有特殊含义:

一个领先的“**”后跟一个斜杠意味着匹配所有目录。例如,“**/foo”在任何地方匹配文件或目录“foo”,与模式“foo”相同。 “**/foo/bar”将文件或目录“bar”匹配在“foo"”目录下的任何位置。

© www.soinside.com 2019 - 2024. All rights reserved.