git挂钩&x2014;防止提交进入主题分支
如果消息格式不正确,我需要停止提交 我知道可以使用预接收挂钩在主分支上执行此操作 问题是我不想在master分支上这样做,而是在主题1中这样做 我想用git-symbolic-ref来做这件事 假设我有一个主题分支,名为dev,来自master。如果在主题分支的git命令行中运行'git symbolic ref HEAD',则会得到'refs/heads/dev' 我正在考虑在预接收钩子中执行同样的操作,以检测提交来自哪个分支 我已经把这段代码放到钩子里了:git挂钩&x2014;防止提交进入主题分支,git,version-control,githooks,Git,Version Control,Githooks,如果消息格式不正确,我需要停止提交 我知道可以使用预接收挂钩在主分支上执行此操作 问题是我不想在master分支上这样做,而是在主题1中这样做 我想用git-symbolic-ref来做这件事 假设我有一个主题分支,名为dev,来自master。如果在主题分支的git命令行中运行'git symbolic ref HEAD',则会得到'refs/heads/dev' 我正在考虑在预接收钩子中执行同样的操作,以检测提交来自哪个分支 我已经把这段代码放到钩子里了: #! /usr/bin/perl
#! /usr/bin/perl
my $branch = `git symbolic-ref HEAD`;
print "Branch: $branch \n";
但是当我从主题分支提交和推送时(即:dev),我得到的信息是:
Branch: refs/heads/master
…即使提交来自dev分支
我做错了什么?这是实现我的目标的可行方法吗?无论分支如何,每次推送之前都会执行
预接收
钩子。你的意思是你实现了一个过滤器,所以它只在主分支更新上执行?我需要编辑这个问题,因为它有点混乱。我希望现在更清楚。实际上,我需要在更新的分支不是主分支时运行某些命令。