我正在寻找一种方法来测试本地目录是否存在 git 存储库。
我不想只通过 sh/bash 检查.git
子目录是否存在,而是如果有一个子目录,则使用专用的 git 命令。我想通过 git 命令验证在该本地目录中可能找到的 git 存储库。
你知道任何 git 命令可以做到这一点吗?
我正在寻找一种方法来测试本地目录是否存在 git 存储库。
我不想只通过 sh/bash 检查.git
子目录是否存在,而是如果有一个子目录,则使用专用的 git 命令。
我想通过 git 命令验证在该本地目录中可能找到的 git 存储库。
你知道任何 git 命令可以做到这一点吗?
对于第 1 项,使用git rev-parse --is-inside-work-tree
. 这:
false
如果您在 Git 存储库中但不在其工作树中(即在裸存储库中),则打印;true
如果您在具有工作树的 Git 存储库中,则打印;或者fatal: not a git repository (or any parent up to...
如果您不在 Git 存储库中,则会出现错误(打印到 stderr)。但是请注意,如果您位于工作树以某种方式损坏或修改的 Git 存储库中,Git 将true
在此处打印。如果你传递--git-dir=
了一个有效存储库的路径,Git总是认为你在工作树中(因为你是)。true
如果该命令打印或,则该命令的退出状态为零false
,如果产生错误,则为非零。
对于第 2 项——“验证”存储库——这完全取决于你所说的“验证”是什么意思。