【发布时间】:2014-09-21 09:15:49
【问题描述】:
我试图在 GIT POST-RECEIVE 命令上获取计算机的本地分支名称,我尝试了代码 “READ REF”但它输出“ref/heads/branchname”我只想要分支名称,有人可以帮我使用 bash 命令使用输出进行修剪,或者 git 中有特定代码来获取推送用户的本地分支名称。
谢谢
【问题讨论】:
标签: git branch githooks ref git-post-receive
我试图在 GIT POST-RECEIVE 命令上获取计算机的本地分支名称,我尝试了代码 “READ REF”但它输出“ref/heads/branchname”我只想要分支名称,有人可以帮我使用 bash 命令使用输出进行修剪,或者 git 中有特定代码来获取推送用户的本地分支名称。
谢谢
【问题讨论】:
标签: git branch githooks ref git-post-receive
你可以试试
git symbolic-ref --short HEAD
或
git rev-parse --abbrev-ref HEAD
detached HEAD 状态的两个命令有所不同。前者显示错误消息,而后者输出字符串HEAD。
对于bash 命令,可以使用basename 获取分支名称。
branchname=`basename "ref/heads/branchname"`
【讨论】:
git symbolic-ref --short HEAD 2>/dev/null,这样,当您处于 detached-HEAD 状态时,不会输出任何内容,甚至不会出现错误。
谢谢!
这就是我需要的! branchname='basename "ref/heads/branchname"'
【讨论】: