Ich arbeite in einem Team mit einigen Entwicklern, die git auf BitBucket verwenden. Wir arbeiten alle an einem dev
Zweig und drängen master
erst auf eine Veröffentlichung.
Einer der Entwickler hat einen falschen Code begangen, der versehentlich meinen eigenen überschrieben hat, und jetzt versuche ich, den richtigen Code zurück in das Repo zu schieben. Ich lese diesen Fehler seit einigen Tagen. Ich kann nicht mehr zum Repo wechseln, da der folgende Fehler angezeigt wird:
! [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.
Ich folge den Anweisungen und pull
erhalte dann einen Zusammenführungskonflikt. Nach der Eingabe einer Nachricht für den Zusammenführungskonflikt ist mein lokaler Code nun der falsche Code, den der andere Entwickler versehentlich hochgeladen hat (wie von der erwartet)pull
). Daher ersetze ich den falschen Code durch das Backup, das ich vor dem Festschreiben kopiert habe, und wenn ich erneut versuche, einen Push durchzuführen, wird der gleiche Fehler angezeigt.
Es ist wirklich frustrierend, ich möchte meinem Team wirklich helfen und einen Beitrag leisten, aber ich kann wegen dieses Fehlers nicht. Weiß jemand, wie man dieses Problem löst? Ich würde mich über jede Hilfe sehr freuen.
Dies sind die Befehle, die ich ausführe, um sie festzuschreiben, wenn sie jemandem helfen:
git pull remotename master:dev
git add --all
git commit -m "some message"
git pull remotename master:dev
git push remotename master:dev
Ich hätte gedacht, wenn ich diese Reihenfolge einhalten würde, würde ich keine Zusammenführungskonflikte erhalten. Ich schätze ich lag falsch. Danke noch einmal
Update: Ich sollte hinzufügen, dass ich einige Stunden bei Google und Stackoverflow gesucht und verschiedene Anweisungen befolgt habe, aber ich kann immer noch nicht push
zum dev
Zweig.