代码之家  ›  专栏  ›  技术社区  ›  Henry Woody

检查文件是否存在于路径中的任何目录中,或者当前目录是否在GIT项目中

  •  0
  • Henry Woody  · 技术社区  · 6 年前

    我正在给我的 .zshrc 将调用的文件 clear 我是说, ls ,和 git status 是的。这个 GIT状态 仅当当前目录是git项目的一部分时才应调用命令。

    到目前为止,我已经有了一个有效的版本,但前提是 .git 文件实际上在当前目录中,因此仅在项目的根目录中。看起来是这样的:

    alias cl="clear && ls && if [ -e .git ]
    then
        git status
    fi"
    

    我想知道是否有办法检查 Git 当前目录的任何父目录中的文件,或者如果有其他方法可以完成此操作。

    谢谢!

    1 回复  |  直到 6 年前
        1
  •  5
  •   larsks    6 年前

    你不需要检查是否存在 .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"