如果您的文件结构类似于?
var black = [0, 0, 0, 255];
var white = [255, 255, 255, 255];
var colors = [black, white];
function fillImageData(imgData, rgba) { //fills the image data with one color
var i;
for (i = 0; i < imgData.data.length; i += 4) {
imgData.data[i+0] = rgba[0];
imgData.data[i+1] = rgba[1];
imgData.data[i+2] = rgba[2];
imgData.data[i+3] = rgba[3];
}
return imgData;
}
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var imgData = ctx.createImageData(100, 100);
var choice = Math.round(Math.random()); //picks 0 or 1 as the index
imgData = fillImageData(imgData, colors[choice]);
ctx.putImageData(imgData, 10, 10);
如何忽略foo
├── bar
│ ├── file1.coffee
│ ├── file2.coffee
│ └── file3.coffee
├── file1.js
├── file2.js
└── file3.js
目录中的第一级文件(foo
,file1.js
,file2.js
)但不要忽略file3.js
目录中的所有内容({ {1}},bar
,file1.coffee
)
提供结构保持相同/相似,但文件名和扩展名当然会有所不同。
是否可以在没有每个目录拥有自己的.gitignore和白名单的情况下执行此操作?文档似乎没有提到如何实现这一目标。
答案 0 :(得分:5)
使用*
作为第一条规则也会忽略文件夹,并且:
It is not possible to re-include a file if a parent directory of that file is excluded. (
*
)
(*
:除非在git 2.?+中满足某些条件,请参见下文)
因此,在忽略第一级后,您需要将文件夹列入白名单 然后,您将列出白名单文件夹下方的所有内容列入白名单:
*
!*/
!*/**
或者,使用Sven Marnach的变体,使用仅定位到第一级文件和文件夹的/*
:
/*
!*/
请注意,使用git 2.9.x / 2.10(2016年中期?),如果排除该文件的父目录if there is no wildcard in the path re-included,则可能会重新包含文件。
Nguyễn Thái Ngọc Duy (pclouds
)正在尝试添加此功能:
然而,由于重新加入的条件之一是:
重新包含规则中的目录部分必须是文字(即没有通配符)
除非我们只谈论foo和bar文件夹,否则无论如何都不会在这里工作:
foo/
!foo/bar