当 .gitignore 中未忽略 node_modules 文件夹时,为啥 Git 不会添加/提交文件?
Posted
技术标签:
【中文标题】当 .gitignore 中未忽略 node_modules 文件夹时,为啥 Git 不会添加/提交文件?【英文标题】:Why won't Git add/commit files when node_modules folder isn't ignored in .gitignore?当 .gitignore 中未忽略 node_modules 文件夹时,为什么 Git 不会添加/提交文件? 【发布时间】:2015-04-13 10:45:14 【问题描述】:问题
当 node_modules 在 .gitignore 文件中未被忽略时,我无法使用 git 添加或提交。如果是,一切正常。
这是为什么?我不明白,它困扰着我。不上传node_modules文件夹可以吗?我使用他们的 eb cli 工具推送和部署到 Amazon Web Services。
详情
我是网络开发的新手。我将 laravel 5 与 homestead 一起使用,目前正在尝试将我的应用程序从 heroku 移动到 Amazon Web Services。
当我的 .gitignore 看起来像这样时:
/vendor
.env
# Elastic Beanstalk Files
.elasticbeanstalk/*
!.elasticbeanstalk/*.cfg.yml
!.elasticbeanstalk/*.global.yml
当我运行时它说“没有添加到提交的更改”
git add -A
然后
git commit -m "Test Message"
但是有。我在 about 文件中添加了一个测试更改。
但是如果我像这样忽略 node_modules 文件夹:
/vendor
/node_modules
.env
# Elastic Beanstalk Files
.elasticbeanstalk/*
!.elasticbeanstalk/*.cfg.yml
!.elasticbeanstalk/*.global.yml
然后再次添加并提交,更改已按应有的方式注册。
【问题讨论】:
/node_modules 文件夹中是否还有另一个 .gitignore 文件? 它有 3 个文件。 .bin、gulp 和 laravel-elixir。如果我搜索 .gitignore,它会找到 .gitignore.orig 和 .gitignore.rej 【参考方案1】:我认为 node_modules 文件夹应该被忽略,因为 Laravel 的 github 存储库已将它列在 .gitignore 中。无论如何,其中大部分都应该由 npm 添加。
You can view it here
【讨论】:
啊,好吧。这就说得通了。我担心应用程序本身可能需要 node_modules 文件夹。以上是关于当 .gitignore 中未忽略 node_modules 文件夹时,为啥 Git 不会添加/提交文件?的主要内容,如果未能解决你的问题,请参考以下文章
.gitignore排除(不忽略)二级以上目录下的文件或目录
不忽略 db.sqlite3 文件,即使我在 django 项目的 .gitignore 中指定