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?
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:
git pull origin branch_name
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 /
--forcesi 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.
git pull --rebase
Maintenant, vous pouvez pousser vers la télécommande
git push
Pour plus d'informations, jetez un œil à Git rebase expliqué et au chapitre 3.6 Git Branching - Rebasing .
git pull --rebasese 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
git push origin master --force
--forcepeut ê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
git branch branch_name --set-upstream-to=origin/branch_name
git pull
et en résolvant les conflits de fusion, j'ai pu pousser.
Vous pouvez ajouter --force-with-bail à la commande, cela fonctionnera.
git push --force-with-lease
--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 .
(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.
L'utilisation de l' --rebaseoption a fonctionné pour moi.
git pull <remote> <branch> --rebasePuis poussez vers le repo.
git push <remote> <branch>Par exemple
git pull origin master --rebase
git push origin master
J'ai le même problème. J'ai résolu avec
git checkout <name branch>
git pull origin <name branch>
git push origin <name branch>
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:
git fetch origin
# Fetches updates made to an online repository
git merge origin YOUR_BRANCH_NAME
# Merges updates made online with your local work
Rencontré le même problème, pour le résoudre, exécutez les gitcommandes suivantes .
git pull {url} --rebasegit push --set-upstream {url} masterVous devez d'abord avoir créé le référentiel sur github.
Parfois, tout en prenant une traction de votre git, la tête se détache. Vous pouvez vérifier cela en entrant la commande:
git branch
(TETE détachée de 8790704)
Maître
développer
Il est préférable de déménager dans votre succursale et de prendre une nouvelle dose de votre succursale respective.
git checkout develop
git pull origin develop
git push origin develop