我有这个.gitignore文件:
/node_modules
/public/storage
/public/hot
/storage/*.key
/vendor
.idea
Homestead.json
Homestead.yaml
.DS_Store
Thumbs.db
*.sublime-project
*.sublime-workspace
.project
/nbproject
_ide_helper.php
composer.phar
error.log
Todo.rtf
.vagrant
/.vagrant
npm-debug.log
.env
/public/css/backend.css
/public/css/frontend.css
/public/js/backend.js
/public/js/frontend.js
/public/mix-manifest.json
/public/mix.js
现在我忽略了最后一行(从/public/...
开始),但它们是特定文件。在我的项目中,我有很多编译文件,如:
/public/css/backend.345346n345jkn3454.css
/public/css/frontend.679nkj67n9n79n679.css
/public/js/backend.2345b34j5bn345m34..js
/public/js/frontend.234234234n234f.js
/public/mix-manifest.json
/public/mix.9b87a1da741f957f3f09.js
等...所以我想在名称的开头包含所有具有“后端”,“前端”和“混合”文本的文件。有可能做这样的事情吗?:
/public/css/backend*.css
/public/css/frontend*.css
/public/js/backend*.js
/public/js/frontend*.js
/public/mix*.js
我这样做但它不起作用,所以我不知道该怎么做。
编辑:这个问题不是忽略存储库上已经提交的文件。我想知道在我的具体情况下使用通配符。
答案 0 :(得分:3)
烨。您可以在.gitignore
中使用此语法。可能你会试图忽略已经提交的东西。
要取消已经添加/初始化到存储库即的单个文件,请停止跟踪该文件,但不要将其从系统中删除:{{ 1}}
要取消现在位于git rm --cached filename
中的每个文件:
首先提交任何未完成的代码更改,然后运行以下命令:
.gitignore
这将从索引(暂存区域)中删除所有已更改的文件,然后运行:
git rm -r --cached .
承诺:
git add .
要撤消git commit -m ".gitignore is now working"
,请使用git rm --cached filename
。