Ich möchte mehrere Commits in Github quetschen
Ich möchte zwei aktuelle Commits mit den Commit-Meldungen "first" und "second" quetschen. Zuerst ziehe ich den Master, dann benutze ich den Befehl
git rebase -i HEAD~2 master
Es zeigt mir beide Commits in einem Editor wie diesem:
pick first
pick second
Dann ändere ich diesen Editor wie folgt:
pick first
squash second
Nach dem Speichern der Änderungen erhalte ich folgende Meldung:
Successfully rebased and updated refs/heads/master.
An Remote Master hat sich nichts geändert. Um diese Änderungen zu übernehmen, benutze ich diegit push
Befehl und bekam den folgenden Fehler:
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.
Dann laufe ich nochmal diegit pull
Befehl und es verschmelzen Ursprungsmaster und machen ein weiteres Commit mit dieser Commit-Nachricht:
Merge branch 'master' of https://github.com/aneelatest/GITtest
Wenn ich danach git push starte, werden die beiden Commits mit der Meldung "first" zu einem zusammengefasst. Das Problem ist, dass ich im Remote-Master jetzt vier Commits habe:
first
second
Merge branch 'master' of https://github.com/test/GITtest
first
Wo ich nur ein Festschreiben möchte, ist das zusammengedrückte mit Festschreibungsmeldung "zuerst". Irgendwelche Ideen, wo ich Fehler mache?