有了这个.gitignore
,我希望目录下的 *.log 文件test
不会包含在任何 git 事务中
:> cat ~/test/.gitignore
*/*/*.log
*/*/*__pycache__*
*/*/*out
然而,我有这样的对话,这表明我的 gitignore 没有被定义为我所期望的。
我的错误在哪里?我是误解了对话还是我的 .gitignore 不符合我的预期。
:> git add .
===
:> git status
On branch master
Your branch is up to date with 'origin/master'.
===
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: ftp.log
===
:> git restore --staged ftp.log
===
:> git status
Untracked files:
(use "git add <file>..." to include in what will be committed)
ftp.log
nothing added to commit but untracked files present (use "git add" to track)
如果您只想排除该目录
test
,您可以使用以下命令将新的 .gitignore 添加到test
目录中:您还可以替换当前的内容
.gitignore
:和
.log
从项目目录中的所有文件中删除跟踪。https://git-scm.com/docs/gitignore
尝试
**/*.log
熟悉https://git-scm.com/docs/gitignore#_pattern_format
看起来你想要
*.log
而不是*/*/*/...
; 它将通配符匹配所有子目录中的所有 .log 文件。.gitignore 匹配引用 repo 根目录的文件,包括硬引用 (
/foo/bar
) 和软引用 (foo/bar
)。