gpt4 book ai didi

git - 显示 git 分支名称或提交 ID

转载 作者:行者123 更新时间:2023-12-04 02:00:32 27 4
gpt4 key购买 nike

在显示当前分支名称时,我试图重现我的 shell 提示符的行为。我在这里使用鱼,但大多数 shell 都有这个功能。 fish prompt

如果我使用命令

git rev-parse --abbrev-ref --verify HEAD

它返回我

master

好!

现在,如果我 check out 旧提交,我的提示会显示 fish prompt

如果我再次运行上面的命令,它会返回

HEAD

这不是我想要的。我想要 3171f5a 就像提示一样。所以我有一个新命令。

git rev-parse --short --verify HEAD

3171f5a

不错!但如果我回来掌握它,它会给我

617ca76

你知道是否有一个命令可以立即给我输出,而无需 if 语句检查返回值是否为 HEAD。(缩短或不缩短散列都可以)

非常感谢

最佳答案

在 shell 中执行此操作的单行方法是使用两个单独的 Git 命令:

git symbolic-ref --short -q HEAD || git rev-parse --short HEAD

在分离的 HEAD 情况下,git symbolic-ref 命令失败(而 -q 阻止它向 stderr 提示)和第二个 git rev -parse 命令继续打印缩短的哈希 ID。

请注意,当您在未出生的分支上时,git symbolic-ref 命令会成功,您将获得未出生分支的(缩写)名称。

关于git - 显示 git 分支名称或提交 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47592077/

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