git 忽略包含 <pattern to ignore> 的文件名
git ignore filenames which contain <pattern to ignore>
我试图告诉 git 忽略文件名中某处具有 _autosave
的文件。此类文件的示例是:
hats/TFCB_ATV_TOP_HAT/_autosave-TFCB_ATV_HAT.kicad_pcb
在正则表达式中,我会简单地使用模式 ^.*_autosave.*
当然,git 不使用正则表达式来评估其 .gitignore 文件。我读了一些书,觉得 *_autosave*
会起作用,但它不起作用。
告诉 git 忽略这些文件的正确语法是什么?
将此行添加到您的 .gitignore
*_autosave*
根据git help gitignore
patterns match relative to the location of the .gitignore file
类似 *_autosave*
的模式匹配名称中某处包含“_autosave”的文件或目录。
Two consecutive asterisks ("**") in patterns mathed against full pathname may have special meaning
A leading "**" followed by a slash means match in all directories.
但是“**/”在某些环境中是多余的。
编辑:
我工作的机器(使用 git 1.7.1)不支持 dubbel asterisk,但是 *_autosave*
它排除了文件。
这是一个简单的测试脚本(针对 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
我试图告诉 git 忽略文件名中某处具有 _autosave
的文件。此类文件的示例是:
hats/TFCB_ATV_TOP_HAT/_autosave-TFCB_ATV_HAT.kicad_pcb
在正则表达式中,我会简单地使用模式 ^.*_autosave.*
当然,git 不使用正则表达式来评估其 .gitignore 文件。我读了一些书,觉得 *_autosave*
会起作用,但它不起作用。
告诉 git 忽略这些文件的正确语法是什么?
将此行添加到您的 .gitignore
*_autosave*
根据git help gitignore
patterns match relative to the location of the .gitignore file
类似 *_autosave*
的模式匹配名称中某处包含“_autosave”的文件或目录。
Two consecutive asterisks ("**") in patterns mathed against full pathname may have special meaning
A leading "**" followed by a slash means match in all directories.
但是“**/”在某些环境中是多余的。
编辑:
我工作的机器(使用 git 1.7.1)不支持 dubbel asterisk,但是 *_autosave*
它排除了文件。
这是一个简单的测试脚本(针对 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