我正在为我的.zshrc
文件添加一个简短的命令,该命令将调用clear
,ls
和git status
。仅当当前目录是git项目的一部分时,才应调用git status
命令。
到目前为止,我有一个可以使用的版本,但是仅当.git
文件实际上在当前目录中时,才在项目的根目录中。看起来像这样:
alias cl="clear && ls && if [ -e .git ]
then
git status
fi"
我想知道是否存在一种方法来检查当前目录的任何父目录中是否存在.git
文件,或者是否还有另一种方法来完成此操作。
谢谢!
答案 0 :(得分:5)
您不需要检查是否存在.git
目录。 Git 已为您完成此操作。如果您想知道当前目录是否是git存储库的一部分,只需运行:
git rev-parse --is-inside-work-tree
退出代码将告诉您是否在git存储库中的目录中。这会使您的别名看起来像:
alias cl="clear && ls && if git rev-parse --is-inside-work-tree 2> /dev/null
then
git status
fi"