J'apporte des modifications à certains fichiers de mon référentiel git local, puis je souhaite les envoyer au référentiel git distant à partir duquel le local a été cloné via ssh.
Après avoir exécuté "git commit -a" de mon côté local, pour envoyer les modifications à la télécommande, je lance
$ 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 inséré dans un référentiel non-nu, c’est-à-dire un référentiel auquel une copie de travail est attachée. Vous n’auriez pas dû ignorer l’avertissement que git Push
vous a donné s’il le remarquait.
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 seulement Poussez dans des dépôts nus. :)
avez-vous essayé le suivant?
$ git Push Origin master:master
J'ai constaté que le problème était que je n'avais pas ajouté les fichiers à la mise à jour, ainsi qu'un message. J'ai corrigé cela en utilisant les commandes suivantes:
git add .
et alors
git commit -m "updates done by..."
et alors
git Push Origin <repo_name>
J'espère que cela aide quelqu'un;)
git commit --amend
Va changer le commit ID
et faire en sorte que le référentiel distant "pense" que de nouvelles modifications ont été apportées.
tapez "git log" dans votre référentiel distant pour voir s'il contient le dernier commit . Sinon, vérifiez la configuration de votre référentiel local pour voir les paramètres distants.
Pour voir les modifications dans différents types de votre référentiel distant:
R. Si votre référentiel distant est vide, vous pouvez trouver les fichiers dans le référentiel distant Branches/ Config Description HEAD refs /
après que le nouveau commit soit poussé, les fichiers dans objets/directory seraient changés.
B. Si votre référentiel distant est non-nu, tapez Dans "git checkout master" Et "git status" dans votre référentiel distant pour afficher l'état du fichier. Voir si certains fichiers ont été modifiés ou supprimés.
Aucune de ces solutions ne fonctionnait pour moi et les commits n'apparaissent sur mon site Web en direct qu'après l'exécution de GIT_WORK_TREE=/path/to/website git checkout -f
. Si c'est votre cas, vous devez ajouter un "crochet" à votre configuration git.
Allez dans le dossier the hooks dans votre dossier git:
cd ~/path/.git
cd hooks
nano post-receive
Écrivez cette ligne dans le fichier de post-réception:
GIT_WORK_TREE=/path/to/your/website/or/project/ git checkout -f
Enfin, vous devez modifier les autorisations du fichier de post-réception:
chmod a+x post-receive
Cela exécutera cette commande à chaque fois que vous appuyez sur Push, mettant à jour vos commits sur votre projet distant.
Je vous suggère d’envisager d’utiliser gitosis pour héberger ces dépôts git bare . C'est vraiment facile à utiliser après la configuration initiale.
Je viens tout juste de constater une frustration similaire de ne pas voir mon changement répliqué sur github . En tant que nouvel utilisateur de git, juste habitué à utiliser le système, j’ai créé un dossier sur mon ordinateur, je l’ai ajouté, je l’ai validé, je l’ai 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 répété les étapes ci-dessus . Mieux, le changement a été immédiatement reflété dans mon dépôt github .