git push pas envoyer des modifications au repository git distant

Je modifie un fichier dans mon référentiel git local et souhaite ensuite envoyer les modifications au référentiel git distant à partir duquel le local a été cloné via ssh.

Après avoir exécuté “git commit -a” sur mon côté local, pour envoyer les modifications à la télécommande, je cours

$ git push Everything up-to-date 

Cependant, j’ai vérifié les fichiers distants et ils ne sont pas modifiés! Une idée?

Merci et salutations!

Vous avez probablement poussé dans un référentiel non dénudé, c’est-à-dire un référentiel contenant une copie de travail. Vous ne devriez pas ignorer l’avertissement que git push vous donne s’il remarque 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  

Voilà. La prochaine fois, ne poussez que dans les repositorys dénudés. 🙂

avez-vous essayé ce qui suit?

  $ git push origin master:master 

J’ai trouvé que le problème était que je n’avais pas ajouté les fichiers à la mise à jour ainsi qu’un message. J’ai résolu ce problème en utilisant les commandes suivantes:

 git add . 

et alors

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

et alors

 git push origin  

J’espère que cela aide quelqu’un;)

J’avais le même problème et c’était parce que j’avais vérifié à un moment donné de l’histoire (dans ce cas, une balise), plutôt que la fin (tête) d’une twig ou d’un maître. Je ferais les changements et les engagements qui réussiraient et je verrais les changements dans mon histoire locale. Lorsque j’ai lancé git push, git a déclaré que tout allait bien, mais que la modification n’avait pas été soumise au serveur (ce qui peut être constaté en vérifiant les journaux ou en re-clonant le repository et en vérifiant ses journaux). Le meilleur symptôme de cette erreur est de voir le message “Tête détachée de ____”

La solution

Ce que l’on doit réellement faire (si vous avez fait ce que j’ai fait), c’est créer une nouvelle ligne de développement en créant une twig et en basculant vers cette twig avant d’ apporter les modifications.

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

Ensuite, après avoir validé les modifications, si vous souhaitez que les modifications soient transmises au serveur, vous devez envoyer la twig elle-même au serveur.

 git push -u origin [local branch name] 

Maintenant, si vous clonez le référentiel, vous devriez voir vos modifications dans les journaux. Cependant, la prochaine fois que vous clonerez le référentiel, pour pouvoir aller au point que vous venez de changer, vous devrez extraire cette twig, car vous serez par défaut sur la ligne principale qui est “plus” en aval de la ligne de développement. vous avez branché.

 git checkout [branch name] 

Je suggère que vous envisagiez d’ utiliser gitosis pour héberger ces référentiels git bare . C’est vraiment facile à utiliser après la configuration initiale.

tapez “git log” dans votre référentiel distant pour voir s’il contient le dernier commit. Sinon, vous devriez vérifier la configuration de votre référentiel local pour voir les parameters distants.

Pour voir les modifications dans différents types de votre référentiel distant:

A. Si votre référentiel distant est dénudé, vous pouvez trouver les fichiers dans la twig de repository distante / description de la configuration HEAD hooks / info / objects / refs /

une fois que le nouveau commit est activé, les fichiers dans les objects / répertoires sont modifiés.

B. Si votre repository distant n’est pas dépouillé, tapez “git checkout master” et “git status” dans votre référentiel distant pour voir l’état du fichier. Voir si certains fichiers ont été modifiés ou supprimés.

 git commit --amend 

Changera l’ commit ID et fera en sorte que le repository distant “pense” que de nouvelles modifications ont été apscopes.

Aucune de ces solutions n’a fonctionné pour moi, et les commits apparaissaient sur mon site Web en direct uniquement après l’exécution de GIT_WORK_TREE=/path/to/website git checkout -f . Si c’est votre cas, vous devez append un “hook” à votre configuration git.

  1. Allez dans votre dossier hooks dans votre dossier git:

    cd ~/path/.git

    cd hooks

    nano post-receive

  2. Ecrivez cette ligne dans le fichier post-réception:

    GIT_WORK_TREE=/path/to/your/website/or/project/ git checkout -f

  3. Enfin, vous devez modifier les permissions du fichier post-réception:

    chmod a+x post-receive

Cela exécutera cette commande chaque fois que vous poussez, mettant à jour vos commits sur votre projet distant.

Un autre problème pourrait être que vous pourriez avoir utilisé

git ajoute vos-dirs

Vous devez vous rappeler de valider les fichiers dans les répertoires

git commit -m’ajoute votre message ‘ your-dir / *

Ensuite, ajoutez un git push pour le pousser sur votre télécommande

Je viens de vivre une expérience aussi frustrante de ne pas voir mon changement reproduit sur github. En tant que nouvel utilisateur de git, je me suis simplement habitué à l’utilisation du système, j’ai créé un dossier sur mon ordinateur, l’a ajouté, l’ai engagé, l’a poussé – pas de changement. J’ai envisagé la possibilité que je ne puisse pas pousser un répertoire vide, alors j’ai créé un fichier vide dans le répertoire, puis j’ai répété les étapes ci-dessus. Mieux encore, le changement a été instantanément reflété dans mon repo github.

 Ani@DESKTOP-5UKCE0Q MINGW64 ~/Github/FunProjects (master) $ git push origin master Username for 'https://github.com': myusername Password for 'https://[email protected]': mypassword Everything up-to-date 

Quelqu’un peut-il me dire comment résoudre ce problème? J’ai tout essayé .. force à pousser, $ git push origine master: master, à valider, à initialiser le repository .. rien ne fonctionne et j’ai besoin de pousser le code mis à jour dans un fichier main.cpp . Je le ferai manuellement en supprimant tout et en le rajoutant, mais je dois savoir comment le faire normalement à partir de git bash. Il ne détecte simplement pas que le code dans le fichier a été mis à jour et continue à me dire que tout est à jour.