git只保存我想要的某些文件,并保护其他一些文件不被推送

时间:2018-12-16 17:39:52

标签: node.js json git

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

那么有什么办法只能推送已提交的文件?我尝试了其他人的解决方案,例如进行新的分支和结帐等操作,但是它对我不起作用。当我创建一个新分支并签出路径时,它告诉我我有一堆文件需要提交。

此外,每次按下时,上传时间都很长,因为它每次都会上传所有节点模块。

2 个答案:

答案 0 :(得分:0)

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

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

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

git rm -r --cached node_modules

答案 1 :(得分:0)

git push 仅推送已提交的文件。您需要使用忽略文件来忽略最新提交中不必要的文件。

检查git ignore,了解如何使用忽略文件。