Git会忽略Release文件夹,但会包含特定的Libraries \ Release文件夹

时间:2019-02-05 05:02:22

标签: git

我正在设置gitignore文件,但我想忽略由Visual Studio的构建过程创建的Debug和Release目录。但是我有一个Libraries文件夹,而没有Debug和Release子文件夹-我需要包含这些文件夹。

使用构建配置在项目中引用库下的子文件夹,因此它们需要包含“调试/发布”名称。

我尝试使用!命令取消模式,但这没有成功。

我正在寻找一个.gitignore配置,该配置使我能够专门包括Libraries / Debug和Libraries / Release文件夹,但忽略所有其他Debug和Release文件夹。

1 个答案:

答案 0 :(得分:1)

要解决您的问题,您需要首先放置更通用的规则,以忽略所有Debug和Release文件夹,并遵循特定规则以不忽略您要跟踪的实例:

Release/*
Debug/*
!/Libraries/Release/*
!/Libraries/Debug/*

要知道的重要一点是.gitignore的内容是按顺序处理的,后面的行将覆盖前面的行中指定的内容。因此,ReleaseDebug说忽略文件或文件夹的所有实例,而!/Libraries/Release说不要忽略在回购根目录的特定路径下找到的Release。 / p>

如果您颠倒了这些行的顺序,那么它将无法按您希望的那样工作;尝试在!中使用.gitignore时,这是一个常见的陷阱。

编辑:每行添加/*仅影响具有给定名称的文件夹,不影响常规文件。