2012-10-11 45 views

Respuesta

19

Branch.IsCurrentRepositoryHead deberían hacer el truco.

Creo Repository.Head también hará lo mismo si no quiere iterar a través de las ramas ...

+0

En caso atrapa a alguien más, debido a qué tan exacta es esta propiedad, devolverá falsa si se ha desprotegido 'Sucursal' pero usted está detrás o delante de esa sucursal en un control remoto extraído. – patridge

+0

Esta función no debería preocuparse por ningún repositorio remoto. Literalmente compara una cadena con los nombres de las ramas. Si cree que cambia según los repositorios remotos, presente un informe de error con un caso de reproducción. –

0

creo que, en vez de ir a través de las ramas y comprobar si cada rama es el actual jefe , lo más sencillo es obtener directamente el nombre de la rama de la Cabeza repositorio:

using (var repo = new Repository(@"path to .git")) 
{ 
    var currentBranchName = repo.Head.FriendlyName; 
} 

a continuación, puede obtener la rama sí a través de

repo.Branches[currentBranchName] 
+0

Puedes usar el 'Head' para obtener la rama:' repo.Head.Reference.TargetIdentifier'. –

Cuestiones relacionadas