Py学习  »  Git

如何使gitignore应用于除特定文件夹之外的特定扩展?

Jerry Dodge • 5 年前 • 1381 次点击  

我们公司在Github有一个私人组织的项目。在Delphi中,其中一个项目有许多与之相关的第三方库,包含在同一个存储库中。

Delphi的本质是.pas文件生成一个.dcu文件(已编译),本质上,.dcu文件是我们在GitHub中不需要的文件之一(不必要,占用空间)。实际上,当为“pascal”生成新的default.gitignore文件时,.dcu是默认情况下它忽略的内容之一。

但是,其中一个第三方库不包含原始源(.pas),而是只包含编译的(.dcu)文件。所以当我们试图在另一台机器上克隆这个repo时,这个库几乎丢失了它需要的所有文件。

我在这里发现了一些与这个主题非常相似的问题,但这些问题通常是指忽略 一切 除了某些事情。我试过这个:

!Path\to\a\folder\I\still\want\dcu\files\from\*.dcu

但它仍然忽略了这些文件。

如何使git-ignore文件排除除特定目录及其子目录中的文件之外的所有DCU文件?

注意:这个目录有很多子目录,每个子目录都有我想要的DCU文件。所以我希望这是递归的,而不是单独列出每个文件夹。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39095
 
1381 次点击  
文章 [ 1 ]  |  最新文章 5 年前
bk2204
Reply   •   1 楼
bk2204    5 年前

你可以写一个 .gitignore 文件如下:

*.dcu
!project/compiled-only/**/*.dcu

这排除了所有 .dcu 文件,除了 project/compiled-only 或任何子目录。

请注意,您必须在所有操作系统上使用正斜杠,因为反斜杠用作转义字符。