J'ai édité mes référentiels 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?
Tirez les changements en premier:
git pull Origin branch_name
Ajoutez --force à votre ligne de commande si vous êtes sûr de vouloir pousser. Par exemple. use git Push Origin --force
(Je recommande la ligne de commande car vous trouverez beaucoup plus de support auprès d’autres utilisateurs. Cela n’est peut-être pas possible avec SmartGit.) Consultez ce site pour plus d’informations: http: //help.github. com/télécommandes/
Avant de pousser, faites un pull avec l'option rebase. Les modifications que vous avez apportées en ligne (dans votre origine) seront ainsi appliquées et appliquées localement, puis ajoutées par-dessus vos modifications locales.
git pull --rebase
Maintenant, vous pouvez pousser à distance
git Push
Pour plus d'informations, consultez Git Rebase expliqué et Chapitre 3.6 Git Branching - Rebasing .
J'ai rencontré la même erreur, il suffit d'ajouter "--force" à la commande, cela fonctionne
git Push Origin master --force
J'ai eu le même problème.
La raison en était que ma branche locale avait 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-lease à la commande, cela fonctionnera.
git Push --force-with-lease
--force est destructif car il écrase de manière inconditionnelle le référentiel distant avec tout ce que vous avez localement. Mais --force-with-lease veille à ne pas écraser le travail des autres.
Voir plus d'infos ici .
(Un) Solution pour Netbeans 7.1: Essayez un pull. Cela va probablement aussi échouer. Maintenant, jetez un coup d'oeil dans les journaux (ils sont généralement affichés maintenant dans l'IDE). Il y a une/plusieurs lignes disant:
"Le tirage a échoué à cause 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. Refaire la Push. Tout devrait bien fonctionner maintenant.
C'est ce qui a fonctionné pour moi. Vous pouvez le trouver dans la documentation git ici
Si vous êtes sur la branche souhaitée, vous pouvez faire ceci:
git fetch Origin
# Fetches updates made to an online repository
git merge Origin YOUR_BRANCH_NAME
# Merges updates made online with your local work
Parfois, en tirant sur votre git, le HEAD se détache. Vous pouvez le vérifier en entrant la commande:
git branch
(HEAD détaché de 8790704)
maîtriser
développer
Il est préférable de passer à votre succursale et de tirer un coup d’essai de votre succursale respective.
git checkout develop
git pull Origin develop
git Push Origin develop
Rencontré le même problème, pour le résoudre, exécutez les commandes git
suivantes.
git pull {url} --rebase
git Push --set-upstream {url} master
Vous devez d'abord avoir créé le référentiel sur github.
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>