【问题标题】:Source tree .gitignore to ignore everything but specific directories/files [duplicate]源树 .gitignore 忽略除特定目录/文件之外的所有内容[重复]
【发布时间】:2017-11-22 18:33:49
【问题描述】:

我见过很多examples,他们几乎都这么说,但由于某种原因,我无法使用 SourceTree 让它工作。 我的文件夹结构如下所示,我想忽略除文件夹 3 及其所有内容、文件夹 2_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 会忽略它的文件夹(即文件夹 2_3_2_1)以及其中的所有内容!

SourceTree V 2.3.1.0

提前谢谢你

【问题讨论】:

    标签: git gitignore atlassian-sourcetree


    【解决方案1】:

    如果明白你想做什么,你必须在文件 .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/*
    

    如果文件夹 3 中有子目录,则必须为每个级别添加一行:

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

    等等。等等

    文件夹2/文件夹2_3/文件夹2_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/
    

    【讨论】:

    • 说的有道理,我早上试试。谢谢。
    • 可以吗?您需要更多帮助吗?另请查看其他用户在您的问题的评论中建议的链接(可能重复的问题)
    • 感谢 Carlo,您的解释很到位。
    猜你喜欢
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 2021-10-26
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多