因此,我尝试在后台使用git设置自动jenkins备份。 现在,我真的很想备份存档的结果。但是,我不需要/不需要其余的构建信息(很多)。
我将.gitignore
设置为:
/*snip*/
jobs/**/builds/*
/*snip*/
但是我需要添加(或者我读到)的内容是这样的:
/*snip*/
jobs/**/builds/*
!jobs/**/builds/**/archive/*
/*snip*/
但这不起作用。它将所有内容忽略在/ builds / *下。如何取消忽略builds / buildnumber /文件夹中的存档文件夹?
答案 0 :(得分:2)
Note from the gitignore documentation:
It is not possible to re-include a file if a parent directory of that file is excluded.
The problem with your pattern is that jobs/**/builds/*
is excluding all of the numeric build directories and all directories under them, so your subsequent negation has no effect because the exclude pattern is a parent of the archive
directory.
What you need to do is adjust the pattern to exclude the files/directories from within the individual numeric build directory, which still allows you to re-include the archive
directory
jobs/**/builds/*/*
!jobs/**/builds/*/archive
Explanation:
jobs/<job-name>/builds/<build-no>/
*
instead of **
; the single asterisk only matches a single directory instead of expanding to exclude all nested subdirectoriesjobs/<job-name>/builds/<build-no>/archive
(and any files/directories therein)I've verified that these patterns should work for both freestyle and multibranch pipeline style jobs.