Erstellen eines Git-Zweigs basierend auf einem anderen Zweig

Lesezeit: 2 Minuten

Benutzer-Avatar
Leszek Andrukanis

Ich möchte eine lokale Verzweigung basierend auf einer anderen Verzweigung erstellen. Ich tippe zum Beispiel:

git checkout -b feature1 release1.1.3

Danach bekomme ich:

fatal: git checkout: updating paths is incompatible with switching branches.

Was ist das Problem dabei?

  • Tut release1.1.3 existieren? Siehe diese Frage stackoverflow.com/questions/945654/….

    – Felix Klinge

    22. Februar 2013 um 14:57 Uhr

git branch <new-branch-name> <existing-branch-name>

  • Diese Antwort richtet ein new-branch-name verfolgen existing-branch-name von der Fernbedienung, d. h. wenn Sie Änderungen pushen, während dieser Zweig ausgecheckt ist, werden sie in einen anderen Zweig auf der Fernbedienung gepusht. Es ist wichtig zu beachten, dass Benutzer die Zweigerstellung mit Folgendem nachverfolgen müssen: git push -u origin new-branch-name um die neue Nebenstelle auf eine analoge Nebenstelle auf der Fernbedienung verfolgen zu lassen.

    – DaBooba

    7. Januar 2021 um 3:40 Uhr


Um einen Branch basierend auf einem anderen Branch zu erstellen, ist es am einfachsten, zuerst den Basis-Branch auszuchecken und dann von dort aus einen neuen Branch zu erstellen. Wenn ich deine Frage richtig verstehe, ist das genau das, was du tun möchtest.

Nun, da Sie die verwenden -b Flag in Ihrer Verzweigung, haben Sie möglicherweise Arbeitsänderungen, die Sie behalten möchten. Wenn das der Fall ist, sollten Sie sie in den Stash schieben, den Basiszweig auschecken, den neuen Zweig erstellen und den Stash öffnen.

Tun git pull Stellen Sie zuerst sicher, dass alle Ihre lokalen Niederlassungen auf dem neuesten Stand sind. Und dann können Sie den Ast schneiden.

Die Syntax ist

$ git checkout -b <branch> --track <remote>/<branch>

oder

$ git checkout <remote>/<branch> -b <branch>

  • git checkout -b <new_branch> <start_point> gilt ja, wie sieht das aus was der OP hat, oder nicht?

    – Felix Klinge

    22. Februar 2013 um 14:59 Uhr


Du meintest git branch feature1 release1.1.3 Angenommen, Sie möchten, dass ein Branch namens feature1 auf dem Release1.1.3-Commit basiert. Was Sie dort aufgerufen haben, sollte auch funktionieren, aber Sie haben auch einen tatsächlichen Ordner namens ‚release1.1.3‘ in Ihrem Arbeitsbaum und Git ist verwirrt darüber, ob Sie den Zweig/das Tag oder den Ordner meinen.

Sie könnten versuchen, einfach die tatsächliche Commit-ID von Release1.1.3 anzugeben.

1228620cookie-checkErstellen eines Git-Zweigs basierend auf einem anderen Zweig

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy