长脑子系列---- git add -A和 git add *

git add : 该命令当中的号是shell终端层面的通配符,没错,他实际上相当于添加当前目录下所有文件到暂存区。* 只会展开为现有的文件。当shel终端执行 git add * 时,Git 实际上执行的是 git add 后面跟着 * 展开的所有文件名。

问题1: 号可以能够匹配所有文件吗?
答案: 不能,
不能匹配linux当中的隐藏文件,(单纯的机制问题,不是*号含义不足代表, 隐藏文件: .开头的文件,例如 .fix.txt)

问题2: git add * 只需要匹配现有文件吗?
答案: 不是,git add 对应的含义是添加文件修改操作到暂存区,修改操作有: 添加文件、删除文件、修改文件、移动文件。很显然,如果是删除文件就无法表示。

那么他就没有用吗?也不尽然,具体场景具体分析,也许有时候就是不需要将删除操作暂存。

git add -A/ git add -ALL: 所有非忽略的修改/新增/删除的文件(非忽略是指.gitignore中未排除的文件,此外关于.gitignore的用法,可以将黑名单变为白名单进行使用,详情可见blog:https://rgbcu.be/blog/gitignore/)

从含义上来讲,git add *有点迷惑了,或者说。。。。。单纯是我用错了。

posted @ 2025-09-06 17:07  wenzhuo4657  阅读(2)  评论(0)    收藏  举报