2012-08-29 10 views
13

Vorrei vedere tutte le mie sedi locali, ma nessuno degli arbitri di monitoraggio remoto come origin/mastercome usare git log --graph --oneline --tutto solo per le mie filiali locali?

Questo comando mi mostra un bel grafico decorato con tutti i miei rami di monitoraggio locale e remoto:

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

Cosa flag devo aggiungere/eliminare in questo comando per mostrare solo i rami locali?

+0

la tua domanda non è chiara –

+0

Come dovrei modificare il comando git così vedrò i miei rami locali in un grafico – 0x90

+0

Vuoi vedere * tutti * di loro o solo quelli che condividono la storia raggiungibile da 'HEAD'? ? – Christopher

risposta

4

non è sicuro di quello che ti serve, ma come a qualcosa di simile:

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

Nota che possa filtrare l'intero registro (ad esempio nel caso in cui si dispone di un up-to data filiale quindi non c'è nulla che hai solo localmente). Si prega di consultare git help log per i dettagli.

Se è necessario solo i nomi e l'ultimo impegnano si può semplicemente utilizzare:

git branch -v

Probabilmente potete mescolare questi per soddisfare le vostre esigenze.

Ma la mia scelta preferita è gitk --all, ecco un esempio di output:

enter image description here

+0

puoi esplorare la prima riga di comando? 10x – 0x90

+0

@ 0x90 Mostra tutti i commit che si trovano in qualsiasi ramo locale ma non in nessun ramo di repository remoto (per i dettagli, fare riferimento a 'git help log', qui lo si può trovare in dettaglio nella sezione degli esempi). – rlegendi

+1

Questo non sembra mostrare mai i risultati in un grafico nonostante abbia --graph come flag (provato usando git 1.8.4) – pavon

0

si può provare questo:

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

Non è perfetto, ma dovrebbe ottenere un output decente.

13

Questo mostrerà tutte le filiali locali.

git log --graph --oneline --branches 

Da 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. 

Così --branches è sufficiente. Mi piace aggiungere --decorate e dare al comando intero un breve alias.

Problemi correlati