¿Cómo puedo averiguar qué cree Git que es el directory de trabajo de nivel superior?

Posible duplicado:
¿Hay alguna manera de llegar al directory raíz de git en un command?

A veces, estoy confundido con git pensando que estoy dentro de un directory de trabajo de Git, pero no es obvio para mí cuál es el directory de trabajo de nivel superior (que contiene .git/ ). (Probablemente, ese repository fue creado por un error).

Entonces, ¿cómo puedo averiguar el directory de repo de Git de nivel superior si estoy en algún lugar dentro de los subdirectorys? ¿Cómo pido a git que imprima lo que cree que es el directory de trabajo de alto nivel actual?

Prueba esto:

 git rev-parse --show-toplevel 

He escrito una secuencia de commands simple ( git-find-git-dirs en mi colección " git-shortcuts ") para hacer estas consultas a Git a mano:

 #!/bin/bash # find-git-dirs -- A simple script to "find" (ie, "print") the GIT_DIR, as assumed by Git. (Useful if you are in a subdir, and you are not sure about the top-level repo dir.) SUBDIRECTORY_OK=yes . "$(git --exec-path)/git-sh-setup" echo "GIT_DIR=$GIT_DIR" 

y ponerlo en ~/bin/ ; ahora puedo hacer mi consulta simple de esta manera:

 $ git find-git-dirs GIT_DIR=/home/imz/.git GIT_WORK_TREE= $ 

Lo único que me falta de la pregunta inicial es la printing del directory de trabajo de nivel superior, ahora solo imprime la ruta al directory interno de repository de git …