gpt4 book ai didi

另一个目录中的 git-diff

转载 作者:行者123 更新时间:2023-12-04 06:53:34 26 4
gpt4 key购买 nike

我目前正在编写一个小的 zsh 函数,它检查我所有的 git 存储库以查看它们是否脏,然后打印出需要提交的那些。到目前为止,我发现找出 git 存储库干净/脏状态的最快方法是通过 git-diffgit-ls-files :

if ! git diff --quiet || git ls-files --others --exclude-standard; then
state=":dirty"
fi

我有两个问题想请教各位:
  • 有谁知道在 git repo 中检查文件更改/添加的更快、更有效的方法?
  • 我希望我的 zsh 函数得到一个文件路径(比如 ~/Code/git-repos/ )并检查其中的所有存储库。有没有办法不用 cd 进入每个目录并运行这些命令?类似 git-diff --quiet --git-dir="~/Code/git-repos/..."会很棒。

  • 谢谢! :)

    最佳答案

    $DIR保存您的目录名称,它是标准布局(即 .git 目录是 $DIR/.git ),然后是 git --git-dir $DIR/.git --work-tree $DIR status -s -uno将列出所有未提交更改的文件。检查列表是否为空应该会给你你想要的。

    关于另一个目录中的 git-diff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2776049/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com