1275 Stimmen

Herausfinden, welche entfernte Zweigstelle von einer lokalen Zweigstelle verfolgt wird

Siehe auch:
Wie kann ich sehen, welche Git-Zweige welchen Remote- / Upstream-Zweig verfolgen?

Wie kann ich herausfinden, welche entfernte Zweigstelle von einer lokalen Zweigstelle verfolgt wird?

Muss ich die Daten von git config Ausgabe, oder gibt es einen Befehl, der dies für mich erledigen würde?

6voto

Jeremy Thomerson Punkte 632

Wenn Sie den Upstream finden wollen für cualquier Zweig (im Gegensatz zu dem, in dem Sie sich gerade befinden), hier eine leichte Änderung der Antwort von @cdunn2001:

git rev-parse --abbrev-ref --symbolic-full-name YOUR_LOCAL_BRANCH_NAME@{upstream}

Dadurch erhalten Sie den Namen des entfernten Zweigs für den lokalen Zweig mit dem Namen YOUR_LOCAL_BRANCH_NAME .

6voto

joseluisq Punkte 478

Listet sowohl lokale als auch entfernte Zweigstellen auf:

$ git branch -ra

Ausgabe:

  feature/feature1
  feature/feature2
  hotfix/hotfix1
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/master

4voto

Erik Aronesty Punkte 9973

Nachdem ich alle hier genannten Lösungen ausprobiert hatte, stellte ich fest, dass keine von ihnen für alle Situationen geeignet war:

  • Arbeiten an lokalen Niederlassungen
  • Arbeiten an abgetrennten Ästen
  • arbeitet unter CI

Dieser Befehl ruft alle Namen ab:

git branch -a --contains HEAD --list --format='%(refname:short)'

Für meine Anwendung musste ich die HEAD- und Master-Referenzen herausfiltern, die Remote-Referenzen bevorzugen und das Wort "origin/" entfernen, und dann, wenn das nicht gefunden wurde, die erste Nicht-HEAD-Referenz verwenden, die kein / oder eine ( darin.

3voto

Tom Hale Punkte 32065

Verbesserung der diese Antwort habe ich mir folgendes ausgedacht .gitconfig Aliasnamen:

branch-name = "symbolic-ref --short HEAD"
branch-remote-fetch = !"branch=$(git branch-name) && git config branch.\"$branch\".remote || echo origin #"
branch-remote-push  = !"branch=$(git branch-name) && git config branch.\"$branch\".pushRemote || git config remote.pushDefault || git branch-remote-fetch #"
branch-url-fetch = !"remote=$(git branch-remote-fetch) && git remote get-url        \"$remote\" #"  # cognizant of insteadOf
branch-url-push  = !"remote=$(git branch-remote-push ) && git remote get-url --push \"$remote\" #"  # cognizant of pushInsteadOf

1voto

Der folgende Befehl entfernt den Ursprung, auf den sich der aktuelle Fork bezieht

git remote -v

Zum Hinzufügen eines entfernten Pfads,

git remote add origin pfad_name

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