[git] push nach einem rebase



  • Hi

    ich habe einen branch 'cmake', bei dem zur Zeit kleine bug fixes reinkommen. Aus 'cmake' habe ich einen 'sequencer' Branch, bei dem ich Teile der alten Bibliothek portiere und dort erstmal teste.

    Ich hab gerade kleine Bug fixes in 'cmake' committet (wie sagt man das auf Deutsch 😕 ) und wollte sie auch in 'sequencer' haben, also habe ich

    $ git rebase cmake sequencer
    

    ausgeführt. Es lief alles wunderbar. Beim pushen meckert git, dass es sich um non-fast forward push handelt (kein Wunder wegen rebase). Wenn ich aber --force verwende, bekomme ich wieder einen Fehler:

    $ git push --force origin sequencer
    ...
    error: denying non-fast forward refs/heads/sequencer (you should pull first)
    ...
    

    huh? ich will aber kein pull machen, sonst habe ich ein unnötigen merge mit origin/sequencer, was ich nicht haben will (sonst hätte ich merge statt rebase verwendet).

    Wie kann ich das lösen? Mir fehlt nur sowas ein:

    $ git push origin :sequencer
    $ git push origin sequencer
    

    aber irgendwie gefällt mir das nicht. Was habe ich übersehen?



  • Man darf veröffentliche Zweige nicht neu basieren, weil es die Geschichte verändert. Es paßt dann einfach nicht mehr zu den anderen Repos.



  • das macht Sinn, aber ... ich arbeite auch zu Hause, deshalb mache ich push (zu meinem privaten online Repository), damit ich zu Hause weiter arbeiten kann.



  • Tja ich würd sagen für Zweige die man pusht heißt das Mittel der Wahl merge. Auch wenn das im gitk dann wie der Gleisplan eines Großbahnhofs aussieht.



  • Tyrdal schrieb:

    Tja ich würd sagen für Zweige die man pusht heißt das Mittel der Wahl merge. Auch wenn das im gitk dann wie der Gleisplan eines Großbahnhofs aussieht.

    😃 ja, machnmal sieht es wirklich so aus


Anmelden zum Antworten