Come rendere Gitk mostra solo le filiali locali? O ancora meglio - posso nascondere i rami remoti che non hanno rami locali corrispondenti?Come rendere Gitk mostra solo filiali locali?
risposta
Dopo alcuni esperimenti ho trovato una soluzione. Il seguente comando funziona:
echo $(git branch) | gitk
Mostra solo i rami remoti che hanno corrispondenti rami locali. E 'importante utilizzare echo $(git branch)
poiché costringe branch
per tornare lista grezzo di rami invece di output formattato come la seguente:
$ git branch
develop
release-M4.1
vendor
* xflow
è possibile creare una nuova "View" che mostra solo le sezioni locali come questo:
- andare in Visualizza -> New View ... (o premere shift-F4)
- Nella finestra di dialogo che appare, dare qualcosa di "Nome vista" significativo come "filiali locali"
- controllo "Tutti (locale) Filiali "nella R Area IFERIMENTI
- spunta "Ricordati di questo punto di vista" per salvare le impostazioni per il futuro lancia
Ora, si dovrebbe vedere un opzione "filiali locali" nel menu Visualizza. Scegliendo questa vista verranno visualizzati solo i commit presenti nelle filiali locali. Nota che puoi ancora vedere le etichette di filiali remote, ma solo se il commit a cui puntano è in un ramo locale.
Da quando ho trovato questa domanda in una ricerca, la risposta accettata non ha funzionato per me, e alla fine ho trovato una soluzione che ha fatto, ho pensato di condividere:
gitk --argscmd='git for-each-ref --format="%(refname)" refs/heads'
Sarà anche aggiornare se aggiungi un ramo e poi aggiorni un gitk in esecuzione con F5. È possibile includere i tag, nonché con:
gitk --argscmd='git for-each-ref --format="%(refname)" refs/heads refs/tags'
o utilizzando rev-list (più breve, ma un po 'barare):
gitk --argscmd='git rev-list --no-walk --branches --tags'
Grazie. Spero che possa essere utile ad altre persone che trovano questa domanda. –
funziona meglio su poshgit come questo: gitk --argscmd = "git for-each-ref --format = '% (refname)' refs/heads refs/tags" –
provare con 'echo $ (git branch)'; dovresti vedere tutti i file nella tua directory corrente, a causa dell'asterisco nell'output del ramo git. – chepner
Ho usato echo in modo specifico per nascondere l'asterisco di git. Credo che git sia in grado di rilevare quando viene eseguito come parte di "echo" o meno. Non stamperà l'asterisco dall'eco. –
Questo sembra essere dipendente dalla shell piuttosto che qualsiasi cosa abbia a che fare con 'git'. Vedo il '*' espanso nei nomi dei file quando lo eseguo in 'bash' o' ksh', ma il '*' viene lasciato solo quando lo eseguo in 'zsh'. – chepner