我怎样才能让 gitignore 适用于特定文件夹以外的特定扩展?
How can I make gitignore apply to a certain extension except those a certain folder?
我们公司在 GitHub 的私人组织中有我们的项目。 Delphi 中的其中一个项目有许多与之关联的第三方库,包含在同一个存储库中。
Delphi 的本质是 .PAS 文件生成 .DCU 文件(已编译),而从本质上讲,.DCU 文件是我们在 [=31= 中不想要的东西之一](不必要并占用 space)。事实上,在为 "Pascal" 生成新的默认 .gitignore 文件时,.DCU 是它默认忽略的内容之一。
但是,其中一个第三方库不包含原始源 (.PAS),而只包含编译后的 (.DCU) 文件。因此,当我们尝试在另一台机器上克隆此存储库时,该库几乎缺少它需要的所有文件。
我在这里发现了一些与此主题类似的其他问题,但这些问题通常指的是忽略除了某些事情之外的所有事情。我试过这个:
!Path\to\a\folder\I\still\want\dcu\files\from\*.dcu
但它仍然忽略这些文件。
如何让 git 忽略文件排除除特定目录及其子目录中的文件之外的所有 DCU 文件?
注意:这个目录下有很多子目录,每个子目录下都有我想要的DCU文件。所以我希望这是递归的,而不是单独列出每个文件夹。
您可以像这样编写 .gitignore
文件:
*.dcu
!project/compiled-only/**/*.dcu
这排除了所有 .dcu
文件,project/compiled-only
或任何子目录中的文件除外。
请注意,您必须在所有操作系统上使用正斜杠,因为反斜杠用作转义字符。
我们公司在 GitHub 的私人组织中有我们的项目。 Delphi 中的其中一个项目有许多与之关联的第三方库,包含在同一个存储库中。
Delphi 的本质是 .PAS 文件生成 .DCU 文件(已编译),而从本质上讲,.DCU 文件是我们在 [=31= 中不想要的东西之一](不必要并占用 space)。事实上,在为 "Pascal" 生成新的默认 .gitignore 文件时,.DCU 是它默认忽略的内容之一。
但是,其中一个第三方库不包含原始源 (.PAS),而只包含编译后的 (.DCU) 文件。因此,当我们尝试在另一台机器上克隆此存储库时,该库几乎缺少它需要的所有文件。
我在这里发现了一些与此主题类似的其他问题,但这些问题通常指的是忽略除了某些事情之外的所有事情。我试过这个:
!Path\to\a\folder\I\still\want\dcu\files\from\*.dcu
但它仍然忽略这些文件。
如何让 git 忽略文件排除除特定目录及其子目录中的文件之外的所有 DCU 文件?
注意:这个目录下有很多子目录,每个子目录下都有我想要的DCU文件。所以我希望这是递归的,而不是单独列出每个文件夹。
您可以像这样编写 .gitignore
文件:
*.dcu
!project/compiled-only/**/*.dcu
这排除了所有 .dcu
文件,project/compiled-only
或任何子目录中的文件除外。
请注意,您必须在所有操作系统上使用正斜杠,因为反斜杠用作转义字符。