2017-08-08 39 views
0

下面是一个关于Heroku及其版本控制系统的问题。git/Heroku没按预期工作

远不是VCS的专家,我可能会问一些相当基本的东西。在这种情况下,请原谅我。 这是问题。

  • 当我在项目中编辑文件并保存它时,比如说index.js。然后,我可以在终端中运行以下命令(正如我在某些教程中学到的那样):

    $ git add。 & & git的承诺-m“我 - 好的项目” & &混帐推Heroku的主

而任何更新的应用程序在服务器上,因为我希望的工作。

  • 如果我再次重复同样的意见:

    $ git的补充。 & & git的承诺-m “我 - 好的项目” & &混帐推Heroku的主

我得到一个消息说:

On branch master 
Your branch is up-to-date with 'heroku/master'. 
nothing to commit, working tree clean 

$ 

这里也是我得到了我期望的,因为我做了不要触摸任何项目。

但接下来的情况并非我期望的情况,如果有人能帮我澄清一些事情,我会很高兴。

我运行此:

$ npm outdated 

检查旧包;然后我运行:

$ npm update 

更新旧包;我可以用我的眼睛看到项目的树状结构发生了一些变化。

现在在这里,当我运行:

$ git add . && git commit -m "my-nice-project" && git push heroku master 

我还得到一个消息说:

On branch master 
Your branch is up-to-date with 'heroku/master'. 
nothing to commit, working tree clean 
$ 

这是为什么?事情在本地发生了变化,我希望在服务器上更新应用程序。 我错过了什么?

+0

标题很宽哈哈 –

回答

1

这主要是由于npm包不受git的版本控制。

如果.gitignore的内容包含npm软件包所在的文件或路径,您可以检查您的git repo。

如果您希望npm包的版本由git控制,您可以删除有关包名或路径的内容。然后git会跟踪包的变化。

无论是在Git版本控制添加node_modules是取决于你如何使用NPM包:

在大多数情况下,node_modules由.gitignore忽略。

但是如果需要锁定软件包,可以将它添加到git版本控制中。

更多详情,可以参考node_modules in gitShould I check in node_modules to git when creating a node.js app on Heroku

+0

确实node_modules是在.gitignore里面的,我这里有个理由删除它。但我想npm也可能有很好的理由把它放在那里。任何特别的建议? – Michel

+1

我在回答中添加了**是否在git版本控制中添加node_modules或不**。你可以决定你的情况。 –