Was dieses Zweig-Tracking ist in git (wenn überhaupt)?
-
26-09-2019 - |
Frage
Nach einem Zweig mit --track herbeizuführen (oder die Standard verlassen, oder --notrack), möchten Sie später daran erinnert werden, was ein Zweig Tracking wird. Gibt es eine Möglichkeit, andere als die Suche durch .git / config-Datei, um anzuzeigen, was ein Zweig verfolgt?
Lösung
Verwendung:. git branch -vv
zu sehen, welche Zweige Verfolgt werden und welche nicht
Andere Tipps
Wenn Sie für einen bestimmten Zweig wissen möchten, können Sie tun:
git config --get branch.<branch>.remote
Wenn es eine Remote-druckt, es Tracking etwas. Wenn es nichts und kehrt Ausfall druckt, ist es nicht.
Beachten Sie, dass mit GIT1. 8.3 (April 22d, 2013) , haben Sie einen neuen Weg, um den Upstream-Zweig zu betonen:
"
git branch --vv
" gelernt, den Namen des Zweigs malen sie mit in einer anderen Farbe integriert (color.branch.upstream
, die standardmäßig auf blau ).
C:\prog\git\git>git branch -vv
* master 118f60e [origin/master] Sync with maint
^^^^^^^^^^^^^
|
--- now in blue
Wenn Sie diese Informationen in einer automatisierten Weise zugreifen müssen sollten Sie versuchen zu vermeiden, die Ausgabe von branch -vv
zu analysieren ( slebetman Antwort ).
bietet Git einen Satz von untergeordneten Befehlen mit stabilen Schnittstellen und Ausgabeformaten. Diese Befehle (genannt „Sanitär“) sind die bevorzugte Schnittstelle für ‚scripting‘ Zwecke. Die git for-each-ref Befehl kann die erforderlichen Informationen über den upstream
Token (erhältlich in Git 1.6.3 und höher) zur Verfügung stellen:
% git for-each-ref --shell --format='
b=%(refname:short) u=%(upstream:short)
# Make a fancy report or do something scripty with the values.
if test -n "$u"; then
printf "%s merges from %s\n" "$b" "$u"
else
printf "%s does not merge from anything\n" "$b"
fi
' refs/heads/ | sh
master merges from origin/master
other does not merge from anything
pu merges from origin/pu
Danke für den Hinweis Jefromi
Mit dem folgenden Befehl können Sie den Remote-Tracking-Zweig für einen bestimmten Zweig erhalten.
git config --get branch.<branch>.merge
Um den Remote-Tracking-Zweig ändern Sie einfach diesen Config-Wert ändern können.
Hinweis: Dies ist eine alternative Möglichkeit zu git branch -vv
(bereits hier beantwortet)
und git branch -u
( Machen Sie einen bestehender Git-Zweigs einen Remote-Zweig verfolgen? )