源树.gitignore忽略除特定目录/文件以外的所有内容

大卫l

我看过许多示例,它们几乎说了相同的内容,但是由于某些原因,我无法使用SourceTree使它正常工作。我的文件夹结构如下所示,我想忽略除folder3及其所有内容,folder2_3_2_1,其所有内容和.ignore文件之外的所有内容。

folder1
folder2
   folder2_1
   folder2_2
   folder2_3
     folder2_3_1
     folder2_3_2
          folder2_3_2_1
             someOtherFile1.php
             someOtherFile12php
             someNewFolder
     folder2_3_3
   folder2_4
folder3
.ignore
somefile.php
somefile2.php

在我的.ignore中,我有以下内容

# Ignore everything
/*

#except for
!.gitignore
!folder3/
!folder2/folder2_3/folder2_3_2/

奇怪的是,如果我不忽略任何内容,并且能够在未暂存的文件面板中看到我的所有文件,如果我右键单击并忽略someOtherFile.php并选择忽略其下所有内容的选项,则会执行相反的操作, sourceTree会忽略其文件夹(即folder2_3_2_1)以及其中的所有内容!

源码树V 2.3.1.0

先感谢您

卡洛·贝莱蒂尼(Carlo Bellettini)

如果了解要执行的操作,则必须将.gitignore文件放入以下行:

# Ignore everything
*

#except for
!.gitignore
!folder3/
!folder3/*
!folder2/
!folder2/folder2_3/
!folder2/folder2_3/folder2_3_2/
!folder2/folder2_3/folder2_3_2/*
!folder2/folder2_3/folder2_3_2/*/*

这是因为您必须同时引用目录和内容。

细节

资料夹3

所以,当你写

!folder3/

您说的folder3是要考虑的内容,而不是其内容,并且由于未对空目录进行版本控制...这是没有用的

你必须写

!folder3/
!folder3/*

如果folder3内有子目录,则必须为每个级别添加一行:

!folder3/*/*
!folder3/*/*/*

等等 等等

folder2 / folder2_3 / folder2_3_2 /

同样在以下情况下:

!folder2/folder2_3/folder2_3_2/

你必须写

!folder2/folder2_3/folder2_3_2/
!folder2/folder2_3/folder2_3_2/*

和子文件夹

!folder2/folder2_3/folder2_3_2/*/*

但这还不够,因为您还必须说不要忽略:

!folder2/
!folder2/folder2_3/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章