4 Stimmen

Git: grundlegendes Missverständnis des "non-fast-forward" Fehlers

Es war in Ordnung, die Grundlagen von git nicht zu verstehen, als ich alleine gearbeitet habe, aber jetzt, da ich mit einer anderen Person zusammenarbeite und wir jeweils Pull Requests einreichen, um sie vom anderen zusammenführen zu lassen, fängt es an, ein Problem zu werden.

Der Arbeitsablauf: Ich schreibe in meinem "author" Branch. Wenn das zur Überprüfung bereit ist, reiche ich einen Pull Request ein, und mein Editor führt das in den master zusammen. Wenn sie Anmerkungen für mich hat, reicht sie einen Pull Request ihres Editor-Branches ein, und ich führe sie in den master zusammen.

Heute erhalte ich einen völlig frustrierenden zirkulären Fehler und ich verstehe nicht, was von mir verlangt wird.

thomas@trigger ‹ author › : ~/pm/wip [1] % git push To https://github.com/mathpunk/punk-mathematics-text.git ! [rejected] Editor -> Editor (non-fast-forward) ! [rejected] author -> author (non-fast-forward) error: failed to push some refs to 'https://github.com/mathpunk/punk-mathematics-text.git' Um zu verhindern, dass Sie Verlaufsinformationen verlieren, wurden nicht schnelle Vorwärtsschritte abgelehnt Führen Sie die Remote-Änderungen zusammen (z.B. 'git pull') bevor Sie erneut pushen. Siehe 'Note about fast-forwards' Abschnitt von 'git push --help' für Details.

Also versuche ich git pull und erhalte dies:

thomas@trigger ‹ author  › : ~/pm/wip
[130] % git pull
Du hast mich gebeten zu ziehen, ohne mir zu sagen, mit welchem Branch du
fusionieren möchtest, und 'branch.author.merge' in
Ihrer Konfigurationsdatei sagt es mir auch nicht. Bitte
geben Sie an, welchen Branch Sie auf der Befehlszeile verwenden möchten und
versuchen Sie es erneut (z.B. 'git pull  ').
Siehe git-pull(1) für Details.

Wenn Sie oft mit dem gleichen Branch fusionieren, möchten Sie vielleicht
etwas Ähnliches in Ihrer Konfigurationsdatei verwenden:
    [branch "author"]
    remote = 
    merge = 

    [remote ""]
    url = 
    fetch = 

Siehe git-config(1) für Details.

Fragen zu diesem Problem sind häufig auf stackoverflow, aber offensichtlich verstehe ich das grundlegende Konzept von git nicht gut genug, um sie zu verstehen. Vielleicht ist auch unser Arbeitsablauf verrückt: Keiner von uns ist Entwickler. Was kann ich als nächstes versuchen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X