Estou trabalhando em uma equipe com alguns desenvolvedores usando git no BitBucket. Estamos todos trabalhando em um dev
branch, não empurrando master
até o lançamento.
Um dos desenvolvedores cometeu um código incorreto que sobrescreveu o meu por acidente, e agora estou tentando enviar o código correto de volta para o repositório. Tenho lido sobre este erro há alguns dias, não consigo mais enviar para o repo porque estou recebendo o seguinte erro:
! [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.
Eu sigo as instruções e pull
, mas recebo um conflito de mesclagem. Depois de inserir uma mensagem para o conflito de mesclagem, meu código local agora é o código incorreto que o outro desenvolvedor carregou acidentalmente (como esperado do pull
). Portanto, substituo o código incorreto pelo backup que copiei antes de confirmar e, quando tento enviar novamente, recebo o mesmo erro.
É muito frustrante, quero muito ajudar minha equipe e contribuir, mas não posso por causa desse erro. Alguém sabe como resolver esse problema? Eu apreciaria muito qualquer ajuda.
Estes são os comandos que executo para confirmar, se isso ajudar alguém:
git pull remotename master:dev
git add --all
git commit -m "some message"
git pull remotename master:dev
git push remotename master:dev
Eu teria pensado que, se mantivesse essa ordem, não receberia conflitos de mesclagem. Eu acho que estava errado. obrigado novamente
Atualização: devo acrescentar que procurei por algumas horas no Google e stackoverflow, e segui instruções diferentes, mas ainda não consigo push
para o dev
branch.