Ho provato a cercare uno speciale comando git per questo, ma non sono riuscito a trovarne uno. Qualcuno può suggerire qualcosa di più breve o più veloce di:Mostra solo il ramo corrente in Git
git branch | awk '/\*/ { print $2; }'
Ho provato a cercare uno speciale comando git per questo, ma non sono riuscito a trovarne uno. Qualcuno può suggerire qualcosa di più breve o più veloce di:Mostra solo il ramo corrente in Git
git branch | awk '/\*/ { print $2; }'
$ git rev-parse --abbrev-ref HEAD
master
Questo dovrebbe funzionare con Git 1.6.3 o successivo.
Non funziona neanche per me, con git-1.6.2.5.git rev-parse --abbrev-ref HEAD => --abbrev-ref 311172491a9a667f9321bdf1c4fe5e22cc6e2c08 (cioè rev-parse non accetta --abbrev-ref (neanche nella pagina man)) – JasonWoof
JasonWoof, funziona per me in 1.6 .4.2, ho bisogno di changelog per vedere quando è successo esattamente ;-) –
Per quanto posso dire dai log di Git, questa funzione è stata unita nel 2009-04-20 ed è stata rilasciata con la versione 1.6.3. – earl
sto usando
/etc/bash_completion.d/git
E 'venuto con git e fornisce un prompt con il nome ramo e il completamento argomento.
Potreste essere interessati alla produzione di
git symbolic-ref HEAD
In particolare, a seconda delle esigenze e il layout si potrebbe desiderare di fare
basename $(git symbolic-ref HEAD)
o
git symbolic-ref HEAD | cut -d/ -f3-
e poi di nuovo c'è il file .git/HEAD
che potrebbe interessarti anche a te.
Puoi ridurre 'git rev-parse --symbolic-full-name' a' git symbolic-ref'. – earl
Non è necessario utilizzare 'basename' o' cut'; usa 'BR = $ {BR # refs/heads /}' (dove BR è il nome della variabile hai salvato l'output di 'git symbolic-ref HEAD'). –
Jakub, ovviamente no, a patto di avere l'output in variabile. –
Questo è un vecchio thread su cui mi sono appena imbattuto. Da quello che posso dire, non v'è alcun modo per nativamente mostrare solo il ramo corrente nel GIT, così ho utilizzato:
#> git branch | grep '*'
Mentre funziona con coreutils GNU,' grep '*' 'is nominalmente un errore di sintassi. Probabilmente vuoi 'git branch | sed -n 's/^ \ * // p'' comunque. O in realtà, ciò che l'OP ha pubblicato in primo luogo, che equivale alla stessa cosa. – tripleee
@ triple mi puoi illuminare sul perché 'grep' * '' è nominalmente un errore di sintassi? –
Proprio come il plurale * s * in inglese non ha alcun significato utile da solo, non si può dire "zero o più volte" in isolamento senza qualcosa prima di esso. (Pensavo di aver ricordato che la documentazione di GNU 'grep' indica specificamente che un solitario' * 'all'inizio della stringa è interpretato letteralmente, cioè come' [*] 'in generale regex, ma non riesco a trovare questo documento ora.) – tripleee
(non posso aggiungere commenti alle risposte ancora, quindi)
in Git 1.8.1 è possibile utilizzare il comando git simbolico-ref con l'opzione "--short":
$ git symbolic-ref HEAD
refs/heads/develop
$ git symbolic-ref --short HEAD
develop
Grazie. Creato alias –
Migliore della risposta accettata IMO, perché funziona su repository senza commit –
Errore fatale: ref HEAD non è un ref simbolico quando eseguirlo come parte di una build TravisCI – kmanzana
credo che questo dovrebbe essere veloce e può essere utilizzato con Python API.
git branch --contains HEAD
* master
penso che questo sia di rapido possibile modo per ottenere ramo corrente – Eimantas
possibile duplicato di [Come arrivare nome del ramo corrente in Git?] (Http://stackoverflow.com/questions/6245570/how-to- get-current-branch-name-in-git) –
@ChandrayyaGK: No, perché l'altra domanda riguarda il farlo dall'interno dell'IDE. (Molte delle risposte sono per l'uso da linea di comando, quindi vale la pena dare un'occhiata, ma non è un duplicato appropriato, e quelle risposte dovrebbero forse essere migrate qui, se ce ne sono che aggiungono un valore significativo a ciò che è già qui.) – tripleee