我试图告诉git忽略文件名中某处有“_autosave”的文件。这种文件的一个例子是:
帽子/ TFCB_ATV_TOP_HAT / _autosave-TFCB_ATV_HAT.kicad_pcb
在正则表达式中,我只使用模式^.*_autosave.*
当然,git不使用正则表达式来评估其.gitignore文件。我做了一些阅读,并认为*_autosave*
会起作用,但事实并非如此。
告诉git忽略这些文件的正确语法是什么?
答案 0 :(得分:16)
将此行添加到.gitignore
*_autosave*
根据git help gitignore
模式相对于.gitignore文件的位置匹配
像*_autosave*
这样的Patternz匹配名称中某处包含“_autosave”的文件或目录。
与完整路径名匹配的两个连续星号(“**”)可能具有特殊含义
前导“**”后跟斜杠表示在所有目录中匹配。
但在某些环境中“** /”接缝是多余的。
修改强>
我的计算机(使用git 1.7.1)不支持dubbel星号,但*_autosave*
排除了文件。
这是一个简单的测试scrtipt(适用于Linux)
DIR="$(mktemp -d)"
git init $DIR/project1
cd $DIR/project1
cat > .gitignore <<EOF
**/*_autosave*
*_autosave*
EOF
mkdir dir1
touch README foo_autosave dir1/bar_autosave
git status
rm -rf $DIR/project1