从脚本中,如何确定当前的 GIT_DIR?如果没有被覆盖,它只是顶级目录或裸仓库的顶级目录。
我想要类似的东西:
[/git/repo1/subdir]$ git show-git-dir
/git/repo1/.git
从脚本中,如何确定当前的 GIT_DIR?如果没有被覆盖,它只是顶级目录或裸仓库的顶级目录。
我想要类似的东西:
[/git/repo1/subdir]$ git show-git-dir
/git/repo1/.git
这可以通过rev-parse来完成:
git rev-parse --git-dir
这是一个纯 bash 版本,当你在根目录下时会找到该目录。(顺便说一下,Ikke 的解决方案更好)。
a=$PWD
while [ "$a" != "" ] && [ "$a" != '/' ];
do
a=`dirname $a`;
if [ -d $a/.git ];
then
echo "$a";
break;
fi
done
在 Windows 上,您可能必须添加另一个 [ "$a" != '\' ] 来测试这种情况,我目前无权检查 Msysgit 附带的 bash shell 是否支持“dirname”。
但适用于 Ubuntu 上的终结者。