我正在尝试从我将代码推送到远程服务器中的分支的位置获取当前分支名称。
示例:我的本地分支名称是s095_Development
,我正在将代码从本地推送到主服务器。
我想在我的预接收挂钩中获取本地分支名称。
current_branch=$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,')
current_branch=$(git rev-parse --abbrev-ref HEAD | cut -d'_' -f1 | cut -d'/' -f3 )
current_branch=$(git name-rev --name-only HEAD | cut -d'_' -f1 | cut -d'/' -f3 )
我已经使用了以上所有内容,但似乎没有任何内容对我有用 - 我无法获取当前的分支名称。
答案 0 :(得分:0)
在项目所在的目录中使用以下命令。
git branch
使用git push
时,它会推送到该分支但在远程服务器中。因此,如果您目前在master
,则会推送到remotes/origin/master
。
答案 1 :(得分:0)
这对我来说很有效,使用PHP在服务器上执行预接收钩子
#!/usr/bin/php
<?php
$stdin = trim(fgets(STDIN));
$branchName = end(explode('/', end(explode(' ', $stdin))));