56 votes

git push n'envoie pas les modifications au dépôt git distant

Je modifie un fichier dans mon dépôt git local et je souhaite envoyer les modifications au dépôt git distant à partir duquel le dépôt local a été cloné via ssh.

Après avoir exécuté "git commit -a" sur mon côté local, pour envoyer les changements au côté distant, j'exécute

$ git push
Everything up-to-date

Cependant, j'ai vérifié les fichiers distants et ils n'ont pas été modifiés ! Une idée ?

Merci et salutations !

29voto

rupi Points 378

J'ai découvert que le problème venait du fait que je n'avais pas ajouté les fichiers à la mise à jour ainsi qu'un message. J'ai corrigé ce problème en utilisant les commandes suivantes :

git add .

y luego

git commit -m "updates done by..."

y luego

git push origin <repo_name>

J'espère que cela aidera quelqu'un ;)

25voto

knittl Points 64110

Avez-vous essayé les solutions suivantes ?

 $ git push origin master:master

Utilice git remote pour connaître le(s) nom(s) de votre (vos) télécommande(s). La télécommande par défaut est origin qui est automatiquement créé lors du clonage d'un référentiel.

22voto

Bombe Points 34185

Vous avez probablement poussé dans un dépôt non nu, c'est-à-dire un dépôt auquel est attachée une copie de travail. Vous n'auriez pas dû ignorer l'avertissement git push vous donne s'il constate que c'est le cas.

Quoi qu'il en soit, connectez-vous à la machine distante, accédez au référentiel et faites

git checkout <whatever branch you’re on>

Voilà. La prochaine fois, ne poussez que dans des dépôts nus :)

9voto

Programster Points 579

J'ai eu le même problème et c'est parce que J'avais quitté la salle à un moment de l'histoire (dans ce cas, une balise), plutôt que la fin (tête) d'une branche ou d'un master. J'effectuais la modification et le commit qui aboutissait et je voyais les changements dans mon historique local. Lorsque j'ai lancé git push, git a indiqué que tout allait bien, mais le changement n'avait pas été soumis au serveur (ce qui peut être vu en vérifiant les logs, ou en re-clonant le repo et en vérifiant ses logs). Le meilleur symptôme de cette erreur est le message "Head detatched from ____"

La solution

Ce qu'il faut faire (si vous avez fait ce que j'ai fait), c'est créer une nouvelle ligne de développement en création d'une branche et de passer à cette branche avant effectuer les changements.

git branch [a new branch name]
git checkout [a new branch name]  

Ensuite, après avoir validé les modifications, si vous voulez que les modifications soient poussées sur le serveur, vous devez pousser la branche elle-même sur le serveur.

git push -u origin [local branch name]

Maintenant, si vous clonez le dépôt, vous devriez voir vos changements dans les logs. Cependant, la prochaine fois que vous clonerez le dépôt, pour pouvoir aller au point que vous venez de modifier, vous devrez extraire cette branche, car vous serez par défaut sur la ligne principale qui est "plus loin" dans la ligne de développement depuis l'endroit d'où vous êtes parti.

git checkout [branch name]

4voto

Andro Secy Points 3939
git commit --amend

Modifiera le commit ID et faire croire au référentiel distant que de nouvelles modifications ont été apportées.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X