J'ai modifié mes dépôts GIT via Git Online. Après avoir essayé de pousser mes modifications de code local, j'ai eu une erreur:
Git push failed, To prevent from losing history, non-fast forward updates were rejected.
Comment puis-je réparer cela?
Réponses:
Tirez d'abord les modifications:
la source
git pull
:? La télécommande est égale àorigin
, donc il fonctionne réellement:git pull origin
. Ne devrait-il pas mettre à jour toutes les branches?Ajoutez --force à votre ligne de commande si vous êtes sûr de vouloir pousser. Par exemple, utilisez
git push origin --force
(je recommande la ligne de commande car vous trouverez beaucoup plus de support de la part d'autres utilisateurs avec la ligne de commande. De plus, cela peut ne pas être possible avec SmartGit.) Consultez ce site pour plus d'informations: http://help.github.com/ télécommandes /la source
--force
si vous êtes le seul à utiliser cette branche. Cela pose cependant des problèmes lors du partage d'une branche avec d'autres développeurs.Avant de pousser, faites un git pull avec l'option rebase. Cela obtiendra les modifications que vous avez apportées en ligne (dans votre origine) et les appliquera localement, puis ajoutera vos modifications locales par-dessus.
Maintenant, vous pouvez pousser vers la télécommande
Pour plus d'informations, jetez un œil à Git rebase expliqué et au chapitre 3.6 Git Branching - Rebasing .
la source
git pull --rebase
se termine parThere is no tracking information for the current branch. Please specify which branch you want to rebase against.
J'ai rencontré la même erreur, ajoutez simplement "--force" à la commande, cela fonctionne
la source
--force
peut être utile.J'ai eu le même problème.
La raison en était que ma succursale locale avait en quelque sorte perdu le suivi au profit de son homologue distant.
Après
et en résolvant les conflits de fusion, j'ai pu pousser.
la source
Vous pouvez ajouter --force-with-bail à la commande, cela fonctionnera.
--force est destructif car il écrase inconditionnellement le référentiel distant avec tout ce que vous avez localement. Mais --force-with-bail vous assure de ne pas écraser le travail des autres.
Voir plus d'informations ici .
la source
(Une) Solution pour Netbeans 7.1: Essayez un pull. Cela échouera probablement également. Jetez maintenant un œil aux journaux (ils sont généralement affichés maintenant dans l'EDI). Il y a une / plusieurs lignes disant:
"Échec de l'extraction en raison de ce fichier:"
Recherchez ce fichier, supprimez-le (faites une sauvegarde avant). Il s'agit généralement d'un fichier .gitignore, vous ne supprimerez donc pas de code. Refaites la poussée. Tout devrait bien fonctionner maintenant.
la source
L'utilisation de l'
--rebase
option a fonctionné pour moi.git pull <remote> <branch> --rebase
Puis poussez vers le repo.
git push <remote> <branch>
Par exemple
git pull origin master --rebase
git push origin master
la source
J'ai le même problème. J'ai résolu avec
la source
checkout
écrasera ces modifications ou du moins ne les inclura pas dans push.C'est ce qui a fonctionné pour moi. Il peut être trouvé dans la documentation de git ici
Si vous êtes sur la branche souhaitée, vous pouvez le faire:
la source
Rencontré le même problème, pour le résoudre, exécutez les
git
commandes suivantes .git pull {url} --rebase
git push --set-upstream {url} master
Vous devez d'abord avoir créé le référentiel sur github.
la source
Parfois, tout en prenant une traction de votre git, la tête se détache. Vous pouvez vérifier cela en entrant la commande:
Il est préférable de déménager dans votre succursale et de prendre une nouvelle dose de votre succursale respective.
la source