我运行一个git服务器并设置了一些预接收挂钩。当有人推动并且这个钩子被调用时,我想知道它们在哪个分支上。
是否有某种git命令允许我这样做?这对我需要做的事情至关重要。
答案 0 :(得分:3)
Git push不假设任何给定的分支在本地签出;事实上,它可能是你正在推动的裸存储库。正如Etan Reisner所提到的那样,your script will automatically receive a list of ref updates on stdin可以用来告诉哪些分支有新的提交。
答案 1 :(得分:2)
以下是预接收挂钩的简单示例
#! /bin/sh
while read oldrev newrev refname
do
echo "$oldrev $newrev $refname"
done
refname
包含服务器上的目标分支refspec(即 refs / heads / master )