Nachdem Sie einen Zweig mit --track erstellt haben (oder den Standard beibehalten oder --notrack), möchten Sie später daran erinnert werden, was ein Zweig verfolgt. Gibt es einen anderen Weg, als durch die Datei .git/config zu suchen, um anzuzeigen, was ein Zweig verfolgt?Was ist diese Zweigverfolgung (wenn überhaupt) in Git?
Antwort
Verwenden Sie: git branch -vv
, um zu sehen, welche Zweige verfolgt werden und welche nicht.
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 ist etwas zu verfolgen. Wenn es nichts druckt und Fehler zurückgibt, ist es nicht.
Wenn Sie automatisch auf diese Informationen zugreifen müssen, sollten Sie vermeiden, die Ausgabe von branch -vv
(slebetman’s answer) zu analysieren.
Git bietet eine Reihe von Befehlen auf niedrigerer Ebene mit stabilen Schnittstellen und Ausgabeformaten. Diese Befehle ("plumbing" genannt) sind die bevorzugte Schnittstelle für 'Scripting' Zwecke. Die git for-each-ref Befehl können die erforderlichen Informationen über den upstream
Token liefern (erhältlich in Git 1.6.3 und höher):
% 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
Beachten Sie, dass mit git1.8.3 (April 22d, 2013), eine neue Art und Weise haben die zu betonen Upstream-Zweig:
„
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
ist, dass Teil für mich nicht gefärbt ist. Ich bin auf Mac 1.8.4. Jeder weiß warum? – dongshengcn
oh, macht nichts. Ich muss die Farbe einschalten. – dongshengcn
@dongshengcn ja, ich mag es 'git config color.ui immer' '' 'https://gist.github.com/VonC/972690#file-gitconfig-L25 – VonC
Danke für den Hinweis Jefromi
Mit dem folgenden Befehl können Sie den Remote-Tracking-Zweig für einen bestimmten Zweig zu bekommen.
git config --get branch.<branch>.merge
Um den Remote-Tracking-Zweig zu ändern, können Sie einfach diesen Konfigurationswert ändern.
Hinweis: Dies ist eine alternative Möglichkeit zu git branch -vv
(bereits hier beantwortet)
und git branch -u
(Make an existing Git branch track a remote branch?)
- 1. Was bedeuten diese Git Symbole?
- 2. Was ist die Beziehung zwischen Enum und Enumeration, wenn überhaupt
- 3. Was bedeutet ServiceControllerServiceProvider überhaupt?
- 4. In Git-Flow, warum existiert Master überhaupt?
- 5. Was ist diese GUID?
- 6. C-Code: Wie funktionieren diese überhaupt?
- 7. Was ist git Trosse?
- 8. Was ist diese Namenskonvention?
- 9. Was ist diese Sprache?
- 10. Was ist diese Programmiersprache?
- 11. Was ist diese Typoskriptsyntax?
- 12. In welchem Sinne ist IO Monade speziell (wenn überhaupt)?
- 13. Was ist Git Beschneiden?
- 14. Was ist ein Changeset in Git?
- 15. Was ist diese Hash-Funktion?
- 16. Was ist diese Chiffre/Hash?
- 17. Was bewirkt "-source 1.6" im JDK 1.6-Compiler, wenn überhaupt?
- 18. Was ist diese Ruby-Syntax?
- 19. Was ist diese CSS-Regel?
- 20. Wenn, wenn überhaupt, sollten wir const verwenden?
- 21. Was ist diese JavaScript-Syntax?
- 22. Was ist diese Punktnotation in Android?
- 23. Was ist ein git Upstream
- 24. Was ist ein git Themenzweig?
- 25. Was schief geht, wenn git worktree mit Git Submodule mit
- 26. Ist setNeedsDisplay: NEIN überhaupt brauchbar?
- 27. wenn überhaupt ein Wort identisch Namen
- 28. Wessen Verantwortung ist es überhaupt?
- 29. Was ist in int.class in Java enthalten? Warum ist es überhaupt gültig?
- 30. überhaupt nicht übereinstimmen, wenn führende Zahlen
Das für das Erhalten des Repository ist schön, aber es wird nicht die Zweignamen (die unterschiedlich sein können) – Casebash
@Casebash: True, aber das ist eine * sehr * seltene Situation, und wenn Sie wissen, dass Sie drin sind, können Sie eine andere Konfigurationsvariable greifen. Dies hat den Vorteil, dass es (verglichen mit der Git-Verzweigung -vv) keine Fremdausgabe hat (d. H. Es ist maschinenparabel). Es wird manchmal nützlich sein. – Cascabel
Ich werde zum Vorteil anderer Leute hinzufügen, dass die Konfigurationsvariable für den Zweigname 'branch.fees.merge' – Casebash