如果消息格式不正确,我需要停止提交。
我知道可以使用 pre-receive 钩子在master分支上执行此操作。
问题是我不想在主分支上这样做,而是在一个主题中。
我想用git symbolic-ref来做。
假设我有一个名为dev的主题分支来自master。如果我从主题分支的 git 命令行运行“ git symbolic-ref HEAD ”,我会得到“ refs/heads/dev ”。
我正在考虑在预接收钩子中做同样的事情来检测提交来自哪个分支。
我已经把这段代码放在了钩子里:
#! /usr/bin/perl
my $branch = `git symbolic-ref HEAD`;
print "Branch: $branch \n";
但是当我提交并从主题分支(即:dev)推送时,我得到的消息是:
Branch: refs/heads/master
...即使提交来自开发分支。
我究竟做错了什么 ?这是实现我的目标的可行方式吗?