Pracuję w zespole z kilkoma programistami używającymi git na BitBucket. Wszyscy pracujemy nad dev
gałęzią, nie pchając się master
aż do wydania.
Jeden z programistów popełnił nieprawidłowy kod, który przez przypadek nadpisał mój własny, a teraz próbuję odesłać poprawny kod z powrotem do repozytorium. Od kilku dni czytam o tym błędzie, nie mogę już pushować do repozytorium, ponieważ pojawia się następujący błąd:
! [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.
Postępuję zgodnie z instrukcjami i pull
, ale wtedy pojawia się konflikt scalania. Po wpisaniu komunikatu o konflikcie scalania mój kod lokalny jest teraz nieprawidłowym kodem, który inny programista przesłał przez przypadek (zgodnie z oczekiwaniami pull
). Więc zastępuję niepoprawny kod kopią zapasową, którą skopiowałem przed zatwierdzeniem, a kiedy próbuję ponownie wcisnąć, pojawia się ten sam błąd.
To naprawdę frustrujące, naprawdę chcę pomóc mojemu zespołowi i wnieść swój wkład, ale nie mogę z powodu tego błędu. Czy ktoś wie, jak rozwiązać ten problem? Byłbym bardzo wdzięczny za każdą pomoc.
Oto polecenia, które wykonuję, aby zatwierdzić, jeśli komuś to pomoże:
git pull remotename master:dev
git add --all
git commit -m "some message"
git pull remotename master:dev
git push remotename master:dev
Pomyślałbym, że jeśli zachowam tę kolejność, nie otrzymam konfliktów scalania. Chyba się myliłem. Dzięki jeszcze raz
Aktualizacja: dodam, że przez kilka godzin szukałem w Google i stackoverflow i postępowałem zgodnie z różnymi instrukcjami, ale nadal nie mogę push
do dev
oddziału.