有什么方法可以获取指向 git 中特定提交的引用列表(包括标签、分支和远程)?
问问题
2005 次
3 回答
9
git show-ref | grep $(git rev-parse HEAD)
shows all refs that point to HEAD
, the currently checked out commit.
git show-ref
shows all refs in your git repo.
git show-ref | grep "SHA goes here"
shows all refs that point to the SHA of a commit.
于 2013-06-26T19:30:01.727 回答
5
人类可读的格式
对于最后一次提交(即 HEAD):
git log -n1 --oneline --decorate
或者指定一个特定的提交:
git log -n1 --oneline --decorate fd88
给出:
fd88175 (HEAD -> master, tag: head, origin/master) Add diff-highlight and icdiff
要仅获取标签/引用/遥控器,请通过以下方式sed
:
$ git log -n1 --oneline --decorate | sed 's/.*(\(.*\)).*/\1/'
HEAD -> master, tag: head, origin/master
对于奖励积分,请为此添加别名:
decorations = "!git log -n1 --oneline --decorate $1 | sed 's/.*(\\(.*\\)).*/\\1/' #"
于 2016-09-21T11:53:42.370 回答
0
仅使用管道。如果两个分支相同,则输出相同的 SHA,不输出则失败,否则退出代码 1。
git rev-parse A B |\
uniq |\
sed -n -e '${1p}' -e '2q 1'
rev-parse
2+ 分支uniq
只有独特的线条${1p}
如果最后一行和第一行,打印2q 1
else quit with exit code 1
可能是 GNU 特定的。q
如果它不起作用,请尝试。
于 2021-12-26T10:04:19.930 回答