¿Hay alguna manera de obtener el directorio raíz de git con un solo comando?
Mercurial tiene una forma de imprimir el directorio raíz (que contiene .hg) mediante
hg root
¿Existe algo equivalente en git para obtener el directorio que contiene el directorio .git?
Aceptado
Sí:
git rev-parse --show-toplevel
Si desea replicar el comando Mercurial de manera más directa, puede crear un alias :
git config --global alias.root 'rev-parse --show-toplevel'
y ahora git root
funcionará igual que hg root
.
Nota : en un submódulo, esto mostrará el directorio raíz del submódulo y no el repositorio principal. Si está utilizando Git >= 2.13 o superior, hay una manera de que los submódulos puedan mostrar el directorio raíz del superproyecto. Si su git es anterior a eso, consulte esta otra respuesta.
¿ Se ha --show-toplevel
agregado recientemente git rev-parse
o por qué nadie lo menciona?
Desde la git rev-parse
página de manual:
--show-toplevel
Show the absolute path of the top-level directory.