2012-08-29 3 views
13

Ich möchte alle meine lokalen Niederlassungen sehen, aber keine der Remote-Tracking-Refs wie origin/masterWie benutze ich git log --graph --oneline --alles nur für meine lokalen Niederlassungen?

Dieser Befehl zeigt mir ein schönes Diagramm dekoriert mit allen meinen lokalen und Remote-Tracking-Zweige:

git log --oneline --graph --decorate --all 

Was Flag sollte ich in diesem Befehl hinzufügen/eliminieren, um nur lokale Zweige anzuzeigen?

+0

Ihre Frage ist nicht wirklich klar –

+0

Wie sollte ich den Git-Befehl ändern, so werde ich meine lokalen Zweige in einem Diagramm sehen – 0x90

+0

Möchten Sie * alle * von ihnen oder nur diejenigen, die Geschichte von 'HEAD' erreichbar zu sehen ? – Christopher

Antwort

4

Ist nicht sicher, was Sie brauchen, aber wie wäre es so etwas wie:

git log --graph --oneline --branches --not --remotes=*

Beachten Sie, dass es das ganze Protokoll ausfiltern kann (zB in dem Fall, wenn Sie eine up-to Datum verzweigen, so gibt es nichts, was Sie nur lokal haben). Bitte konsultieren Sie git help log für die Details.

Wenn Sie nur die Namen müssen und die letzten Commit Sie können einfach verwenden:

git branch -v

Wahrscheinlich können Sie diese mischen Ihre Bedürfnisse anzupassen.

Aber meine bevorzugte Wahl ist gitk --all, hier ist ein Beispiel für die Ausgabe:

enter image description here

+0

Können Sie die erste Befehlszeile expligieren? 10x – 0x90

+0

@ 0x90 Es werden alle Commits angezeigt, die sich in einer lokalen Verzweigung, aber nicht in einer entfernten Repository-Verzweigung befinden (Details finden Sie unter 'git help log', dort finden Sie Details im Abschnitt Beispiele). – rlegendi

+1

Dies scheint nicht immer die Ergebnisse in einem Graphen zu zeigen, obwohl --graph als Flag verwendet wurde (versucht mit git 1.8.4) – pavon

0

du versuchen:

git --oneline --graph --decorate $(git branch | tr -d ' *' | awk '{ print "master~1.."$0 }') 

Es ist nicht perfekt, aber sollten Sie eine anständige Ausgabe erhalten.

13

Dies zeigt Ihnen alle lokalen Zweige.

git log --graph --oneline --branches 

Von git log --help

--branches[=<pattern>] 
    Pretend as if all the refs in refs/heads are listed on the command line as <commit>. 
    If <pattern> is given, limit branches to ones matching given shell glob. 
    If pattern lacks ?, *, or [, /* at the end is implied. 

So ist --branches genug. Ich möchte --decorate hinzufügen und dem gesamten Befehl einen kurzen Alias ​​geben.

Verwandte Themen