Je travaille dans une équipe avec quelques développeurs utilisant git sur BitBucket. Nous travaillons tous sur une dev
branche, sans pousser master
jusqu'à une sortie.
Un des développeurs a commis un code incorrect qui a écrasé le mien par accident, et maintenant j'essaye de renvoyer le code correct au dépôt. Je lis cette erreur depuis quelques jours maintenant, je ne peux plus pousser vers le repo car j'obtiens l'erreur suivante:
! [rejected] master -> dev (fetch first)
error: failed to push some refs to 'https://myusername@bitbucket.org/repo_user/repo_name.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Je suis les instructions et pull
, mais je reçois ensuite un conflit de fusion. Après avoir entré un message pour le conflit de fusion, mon code local est maintenant le code incorrect que l'autre développeur a téléchargé par accident (comme prévu par le pull
). Je remplace donc le code incorrect par la sauvegarde que j'ai copiée avant de m'engager, et lorsque j'essaye de pousser à nouveau, j'obtiens la même erreur.
C'est vraiment frustrant, je veux vraiment aider mon équipe et contribuer, mais je ne peux pas à cause de cette erreur. Quelqu'un sait-il comment résoudre ce problème? J'apprécierais beaucoup toute aide.
Voici les commandes que j'exécute pour commettre, si cela aide quelqu'un:
git pull remotename master:dev
git add --all
git commit -m "some message"
git pull remotename master:dev
git push remotename master:dev
J'aurais pensé que si j'avais gardé cet ordre, je ne recevrais pas de conflits de fusion. Je suppose que j'avais tort. Merci encore
Mise à jour: je dois ajouter que j'ai cherché pendant quelques heures sur Google et stackoverflow, et suivi différentes instructions, mais je ne peux toujours pas push
aller à la dev
branche.