Php git错误-与git已知的任何文件都不匹配?

Php git错误-与git已知的任何文件都不匹配?,php,git,git-commit,Php,Git,Git Commit,我已经添加了一个模式来递归忽略.git目录中exclude file inside.info中的文件 patter : httpdocs/**/bak_*.* 如果我从httpdocs提交,它正在工作,并且从更改的目录中,它会给出错误 git commit -m "formatting js" httpdocs/* [working] git commit -m "formatting js" httpdocs/dir1/dir2/* [giving below error] 错误:路径规

我已经添加了一个模式来递归忽略.git目录中exclude file inside.info中的文件

patter : httpdocs/**/bak_*.*
如果我从httpdocs提交,它正在工作,并且从更改的目录中,它会给出错误

git commit -m "formatting js" httpdocs/* [working]

git commit -m "formatting js" httpdocs/dir1/dir2/* [giving below error]
错误:路径规范“httpdocs/dir1/dir2/bak_admin.abc.php”与git已知的任何文件都不匹配


基本上我想知道为什么会发生这种情况。

通配符模式是由shell扩展的(不是由git扩展的)。
这意味着
git commit-m“formatting js”httpdocs/*
被翻译为

 git commit -m "formatting js" httpdocs/fileorDir1
 git commit -m "formatting js" httpdocs/fileorDir2
 git commit -m "formatting js" httpdocs/fileorDir3
如果已经跟踪了所有这些文件,git commit就可以工作了。如果不是,则返回您看到的错误消息

在git commit-m“formatting js”httpdocs/dir1/dir2/*的情况下,转换为:

git commit -m "formatting js" httpdocs/dir1/dir2/fileirDir1
git commit -m "formatting js" httpdocs/dir1/dir2/fileirDir2
git commit -m "formatting js" httpdocs/dir1/dir2/fileirDir3
这将包括显式忽略(根本不跟踪)的文件,包括
bak_admin.abc.php

即使.gitignore设置正确,shell(不是git)也会将
bak_admin.abc.php
传递给
git commit
命令,从而导致

error: pathspec 'httpdocs/dir1/dir2/bak_admin.abc.php' did not match any file(s) known to git.
解决方案:不要使用“
*

git commit -m "formatting js" httpdocs/
git commit -m "formatting js" httpdocs/dir1/dir2/

没错,但是如果
.gitignore
设置正确,git commit应该忽略这些文件路径。@Vidur否,它不会忽略该文件,因为shellOops会显式地将所述文件传递给git commit。我错了。它确实抱怨这个问题。@ VIDUR因此解决了不使用“<代码> */COD>”:让Git计算出它应该考虑的文件夹中的哪些文件。不需要shell来扩展这些文件。