Hen*_*ody 0 git bash shell zsh
我正在加入一个简短的命令,以我的.zshrc文件,将调用clear,ls和git status.git status只有当前目录是git项目的一部分时,才应调用该命令.
到目前为止,我有一个可行的版本,但只有当.git文件实际位于当前目录中时,才会在项目的根目录中.看起来像这样:
alias cl="clear && ls && if [ -e .git ]
then
git status
fi"
Run Code Online (Sandbox Code Playgroud)
我想知道是否有办法检查.git当前目录的任何父目录中是否有文件 - 或者是否有其他方法可以实现此目的.
谢谢!
您无需检查是否存在.git目录.Git 已经为你做了这个.如果您想知道当前目录是否是git存储库的一部分,只需运行:
git rev-parse --is-inside-work-tree
Run Code Online (Sandbox Code Playgroud)
退出代码将告诉您是否在作为git存储库一部分的目录中.这使你的别名看起来像:
alias cl="clear && ls && if git rev-parse --is-inside-work-tree 2> /dev/null
then
git status
fi"
Run Code Online (Sandbox Code Playgroud)