quer esmagar vários commits no github
Eu quero esmagar dois últimos commits com mensagens de commit "primeiro" e "segundo". Primeiro eu puxo mestre então eu uso o comando
git rebase -i HEAD~2 master
Isso me mostra os dois commits em um editor como este:
pick first
pick second
Então eu mudo este editor como:
pick first
squash second
Depois de salvar as alterações, recebi esta mensagem:
Successfully rebased and updated refs/heads/master.
Mudou qualquer coisa no mestre remoto. Para aplicar essas mudanças eu uso ogit push
comando e obteve o seguinte erro:
To https://github.com/aneelatest/GITtest.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/test/GITtest.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Então eu novamente corro ogit pull
comando e ele mescla o origin origin e faz outro commit com esta mensagem de commit:
Merge branch 'master' of https://github.com/aneelatest/GITtest
Depois disso quando eu executo o git push, ele esmaga os dois commits em um com a mensagem "first". O problema é que no mestre remoto, tenho agora quatro commits:
first
second
Merge branch 'master' of https://github.com/test/GITtest
first
Onde eu quero apenas um commit que é o squashed com a mensagem de commit "primeiro". Alguma idéia de onde estou cometendo erro?