Git:git服务器如何找出正在推送的分支?

时间:2015-08-25 19:21:47

标签: git bash unix

我运行一个git服务器并设置了一些预接收挂钩。当有人推动并且这个钩子被调用时,我想知道它们在哪个分支上。

是否有某种git命令允许我这样做?这对我需要做的事情至关重要。

2 个答案:

答案 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