git: 查看未跟踪文件

一,实际的未跟踪文件可能和.gitignore不一致,

此时我们用这个命令列出未跟踪的文件:

git status --ignored

例子:

$ git status --ignored
位于分支 devel
忽略的文件:
  (使用 "git add -f <文件>..." 以包含要提交的内容)
        .env
        .idea/
        composer.lock
        extend/Youmeng/.DS_Store
        extend/Youmeng/Push/
        public/layui.bak/.DS_Store
        public/layui.bak/css/.DS_Store
        public/layui/.DS_Store
        runtime/log/
        runtime/session/
        runtime/temp/
        vendor/composer/pcre/
        vendor/maennchen/
        vendor/markbaker/
        vendor/phpoffice/

查看实际的.gitignore

$ more .gitignore 
*.log
.env
composer.phar
composer.lock
.DS_Store
Thumbs.db
/.idea
/.vscode
/.settings
/.buildpath
/.project

可以看到两者的不一致

二,出现这种情况的原因:

修改.gitignore后没有更新缓存,

正确做法

一、清空缓存

git rm -rf --cached .
二、重新添加文件至缓存区

git add .
三、验证效果

git status 

三,把未跟踪文件加入到代码库

如果是.gitignore中忽略的,需要加-f参数

$ git add -f vendor/phpoffice/

否则会报错:

$ git add vendor/phpoffice/
下列路径根据您的一个 .gitignore 文件而被忽略:
vendor/phpoffice
提示:如果您确实要添加它们,使用 -f 参数。
提示:运行下面的命令来关闭本消息
提示:"git config advice.addIgnoredFile false"

再查看可以看到文件已添加到了缓存区:

$ git status
位于分支 devel
要提交的变更:
  (使用 "git restore --staged <文件>..." 以取消暂存)
        新文件:   vendor/phpoffice/phpspreadsheet/CHANGELOG.md
        新文件:   vendor/phpoffice/phpspreadsheet/CONTRIBUTING.md
        ...

 

posted @ 2025-08-23 09:29  刘宏缔的架构森林  阅读(19)  评论(0)    收藏  举报