2017-08-08 1 views
0

Voici une question sur Heroku et son système de contrôle de version. Loin d'être un expert en VCS, je peux demander quelque chose de tout à fait basique. Dans ce cas, excusez-moi. Voici le problème.git/Heroku ne fonctionne pas comme prévu

  • Lorsque je vais et édite un fichier dans mon projet et l'enregistre, disons index.js par exemple. Je peux alors exécuter les commandes suivantes dans le terminal (comme j'ai appris à le faire dans un tutoriel):

    $ git add. & & git commit -m "my-nice-projet" & & git pousser heroku maître

Et qui fait le travail de mise à jour de l'application sur le serveur que je pense.

  • Si je répète le même commentaire à nouveau:

    add $ git. & & git commit -m "my-nice-projet" & & git maître push heroku

Je reçois un message disant:

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

$ 

Ici aussi je reçois ce que je pense, depuis que je l'ai fait ne touchez rien au projet.

Mais ce qui suit n'est pas une situation à laquelle je m'attends et je serais heureux que quelqu'un puisse m'aider à clarifier les choses.

je lance ceci:

$ npm outdated 

pour vérifier les anciens paquets; puis je cours:

$ npm update 

pour mettre à jour les anciens paquets; et je peux voir avec mes yeux que quelque chose a changé dans l'arborescence du projet.

Maintenant ici quand je lance:

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

Je reçois un message disant encore:

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

Pourquoi? Les choses ont changé localement, je m'attendrais à une mise à jour de l'application sur le serveur. Qu'est-ce qui me manque?

+0

Ce titre est assez large haha ​​ –

Répondre

1

Cela est principalement dû au fait que les paquets npm ne sont pas contrôlés par git.

Vous pouvez vérifier votre repo git si le contenu de .gitignore contient le fichier ou le chemin que le package npm trouve.

Et si vous voulez que le paquet npm soit contrôlé par git, vous pouvez supprimer le contenu du nom ou du chemin du paquet. Alors git suivra les changements du paquet.

Que ajouter node_modules dans le contrôle de version git est dépend de la façon dont vous avez utilisé le paquet NPM:

Pour la plupart des cas, node_modules est ignoré par .gitignore.

Mais s'il est nécessaire de verrouiller le paquet, vous pouvez l'ajouter au contrôle de version git. Pour plus de détails, vous pouvez vous référer à node_modules in git et Should I check in node_modules to git when creating a node.js app on Heroku.

+0

En effet node_modules est à l'intérieur .gitignore, j'ai ici une raison de l'enlever. Mais je suppose que NPM aurait aussi eu de bonnes raisons de le placer là. Un conseil particulier? – Michel

+1

J'ai ajouté la partie ** si ajouter des node_modules dans git version control ou non ** dans ma réponse. Vous pouvez décider quelle est votre situation. –