首页 > 解决方案 > git 只保存我想要的某些文件并保护其他一些文件不被推送

问题描述

我做了一个小复制游戏叫Snake,它通过node express使用了一个小的json数据库。现在,我使用 git 将游戏部署到 Heroku。但是,每当我在公共路径中更改 index.js 或 index.html 时,在提交它们并 git push origin master 之后,它都会推送我项目中的每个文件。包括所有节点模块和我的 json 数据库。我的在线 json 文件中有人们保存的分数,但在推送我的 index.js 后,在线 json 清除了它的内容。

那么有没有办法只推送提交的文件?我尝试了其他的解决方案,比如创建一个新的分支和结帐或其他东西,但它对我不起作用。当我创建一个新分支并检查我的路径时,它告诉我我有一堆文件需要提交。

另外,当我每次推送时,上传需要很长时间,因为它每次都在上传所有节点模块。

标签: node.jsjsongit

解决方案


您正在寻找的是Git Ignore。这是一种排除某些文件被提交的方法。正如您所指出的,在 NodeJS 中,排除node_modules.

有一个名为gitignore.io的项目,它可以帮助您制作.gitignore具有通用模式的正确文件。

现在您已经提交了您的node_module,您将必须使用以下命令删除已提交的文件:

git rm -r --cached node_modules

推荐阅读