tag describe git find directory git-config git-commands

describe - ¿Cómo puedo saber qué piensa Git que es el directorio de trabajo de nivel superior?



git describe (2)

Posible duplicado:
¿Hay una manera de llegar al directorio raíz de git en un comando?

A veces, estoy confundido con git pensando que estoy dentro de un directorio de trabajo de Git, pero no es obvio para mí qué es el directorio de trabajo de nivel superior (que contiene .git/ ). (Probablemente, ese repo fue creado por un error).

Entonces, ¿cómo averiguo el directorio de Git repo de nivel superior si estoy en algún lugar dentro de los subdirectorios? ¿Cómo le pido a git que imprima lo que cree que es el directorio de trabajo de nivel superior actual?


He escrito un script simple ( git-find-git-dirs en mi colección de " git-shortcuts ") para hacer esas consultas a Git a mano:

#!/bin/bash # find-git-dirs -- A simple script to "find" (i.e., "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 simple consulta 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 impresión del directorio de trabajo de nivel superior, ahora solo imprime la ruta al directorio interno de repositorio de git ...


Prueba esto:

git rev-parse --show-toplevel