Wie erstellt man einen entfernten Git-Zweig?

Ich habe einen lokalen Zweig erstellt, den ich nach oben verschieben möchte. Es gibt eine ähnliche Frage hier auf Stack Overflow, wie man einen neu erstellten entfernten Zweig verfolgen kann.

Mein Arbeitsablauf ist jedoch etwas anders. Zunächst möchte ich eine lokale Verzweigung erstellen, die ich nur nach oben schieben werde, wenn ich zufrieden bin und meine Verzweigung teilen möchte.

  • Wie würde ich das machen? (meine Google-Suche scheint nichts zu ergeben).
  • Wie sage ich meinen Kollegen, dass sie es aus dem Upstream-Repository ziehen sollen?

UPDATE Mit Git 2.0 gibt es eine einfachere Antwort Ich habe unten geschrieben: https://stackoverflow.com/a/27185855/109305

Zunächst erstellen Sie Ihren Zweig lokal:

git checkout -b  # Create a new branch and check it out

Der entfernte Zweig wird automatisch erstellt, wenn Sie ihn auf den entfernten Server übertragen. Wenn Sie also bereit dafür sind, können Sie das einfach tun:

git push   

Wobei `typischerweiseOrigin` ist, der Name, den Git dem Remote gibt, von dem Sie geklont haben. Ihre Kollegen würden dann einfach diesen Zweig ziehen und er wird automatisch lokal erstellt.

Beachten Sie jedoch, dass das formale Format wie folgt lautet:

git push  :

Wenn Sie jedoch einen auslassen, wird angenommen, dass beide Zweignamen gleich sind. Machen Sie also nicht den entscheidenden Fehler, nur : (mit Doppelpunkt) anzugeben, sonst wird die Fernverzweigung gelöscht!

Damit ein nachfolgendes git pull weiß, was zu tun ist, sollten Sie stattdessen : verwenden:

git push --set-upstream   

Wie unten beschrieben, richtet die Option --set-upstream einen Upstream-Zweig ein:

Für jeden Zweig, der auf dem neuesten Stand ist oder erfolgreich gepusht wurde, wird ein Upstream (Tracking)-Referenz hinzu, die von argumentlosen git-pull(1) und anderen Befehlen verwendet wird.

Kommentare (29)

Zunächst müssen Sie Ihre Verzweigung lokal erstellen

git checkout -b your_branch

Danach können Sie lokal in Ihrer Verzweigung arbeiten. Wenn Sie bereit sind, die Verzweigung zu teilen, pushen Sie sie. Der nächste Befehl pusht den Zweig in das entfernte Repository origin und verfolgt ihn

git push -u origin your_branch

Teammitglieder können Ihren Zweig erreichen, indem sie dies tun:

git fetch
git checkout origin/your_branch

Sie können in der Verzweigung weiterarbeiten und jederzeit pushen, ohne Argumente an git push zu übergeben (ohne Argumente pusht git push den Master an den entfernten Master, die lokale Verzweigung an die entfernte Verzweigung, usw.).

git push

Teammitglieder können auf Ihren Zweig pushen, indem sie Commits machen und dann explizit pushen

... work ...
git commit
... work ...
git commit
git push origin HEAD:refs/heads/your_branch

Oder den Zweig verfolgen, um die Argumente für git push zu vermeiden

git checkout --track -b your_branch origin/your_branch
... work ...
git commit
... work ...
git commit
git push
Kommentare (0)

Wie in den vorherigen Antworten erwähnt,

git push  :

ausreicht, um einen lokalen Zweig zu pushen.

Ihre Kollegen können mit diesem Befehl alle entfernten Zweige (einschließlich neuer Zweige) abrufen:

git remote update

Um dann Änderungen an dem Zweig vorzunehmen, gehen Sie wie gewohnt vor:

git checkout -b  /
Kommentare (0)