我如何找出Git认为顶级工作目录是什么?

时间:2011-07-19 13:40:40

标签: git find directory git-config git-commands

  

可能重复:
  Is there a way to get to the git root directory in one command?

有时候,我对git认为我在Git工作目录中感到困惑,但对我来说,顶级工作目录(包含.git/)是什么并不明显。 (可能这个回购是由一个错误造成的。)

那么,如果我在子目录中的某个地方,如何查找顶级Git repo目录?如何让git打印出它认为当前顶级工作目录的内容?

2 个答案:

答案 0 :(得分:42)

试试这个:

git rev-parse --show-toplevel

答案 1 :(得分:1)

我在我的“git-find-git-dirs”集合中编写了一个简单的脚本(git-shortcuts),以便向Git提出这样的查询:

#!/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"

并将其放到~/bin/;现在我可以这样做我的简单查询:

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

我最初的问题中唯一缺少的是打印顶级工作目录,现在只打印内部git repo目录的路径......