gpt4 book ai didi

git - 为什么以 git 别名运行命令会产生不同的结果?

转载 作者:IT王子 更新时间:2023-10-29 00:39:28 25 4
gpt4 key购买 nike

我有以下 1-liner,我用它来查看谁可能是需要帮助处理一段代码的好人选:

git log --pretty=short . | grep ^Auth | sort | uniq -c | sort -nr

按提交顺序列出作者,它很粗糙但工作正常。

但是,当我将它添加到我的 git 配置时,如下所示:

[alias]
guru=!git log --pretty=short . | grep ^Auth | sort | uniq -c | sort -nr

运行

git guru

与从命令行运行它给出不同的结果。

stuart@beavis(rp):~/git/apps$ git log --pretty=short . | grep ^Auth | sort | uniq -c | sort -nr
710 Author: dave <dave@b2368a2b-315f-46b9-a0b0-05934f827f41>
415 Author: pete <pete@b2368a2b-315f-46b9-a0b0-05934f827f41>
402 Author: craig <craig@b2368a2b-315f-46b9-a0b0-05934f827f41>

相比于:

stuart@beavis(rp):~/git/apps$ git guru
859 Author: craig <craig@b2368a2b-315f-46b9-a0b0-05934f827f41>
813 Author: paul <paul@b2368a2b-315f-46b9-a0b0-05934f827f41>
798 Author: dave <dave@b2368a2b-315f-46b9-a0b0-05934f827f41>

正如 Stefan Näwe 在下面指出的那样,别名在存储库的根目录中运行,是否有任何方法可以在我所在的目录或指定的目录上运行命令?

最佳答案

is there any way to run the command on the directory I'm in, or specify?

是的,有。当你运行 git 命令时,你的环境会得到一个 GIT_PREFIX 变量,其中包含相对路径的值(从顶层到执行 git 之前的路径)所以你需要的是为你的 git 别名添加前缀(运行 shell命令并需要正确的密码)与 cd ${GIT_PREFIX:-.} &&.

简单测试,把这个添加到你的~/.gitconfig


[别名]
p = !pwd && cd ${GIT_PREFIX:-.} && pwd

关于git - 为什么以 git 别名运行命令会产生不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8832799/

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