我想加入一个新分支的创建。无论是在创建分支时还是在第一次推送完成时。一种或两种可能吗?
问问题
12531 次
2 回答
23
接受的答案说使用update hook
. 我不确定这对每个人都有帮助,因为这是一个服务器端的钩子。如果你推送你的新分支,它会起作用,但是保持它纯粹是本地的呢?
我正在创建永远不会推送的本地分支,所以我正在使用它post-checkout
。创建分支后,您通常不会在对其进行任何其他操作之前对其进行检查吗?当我检测到一个新分支时,我会对其进行修改并自动添加一个提交。之后,我可以根据它是否具有提交历史来确定这是否是结帐时的新分支。
这是我的做法(我的钩子在 bash 中):
true=1
false=0
isNewBranch()
{
local logQuery=$(git log --all --not $(git rev-list --no-walk --exclude=refs/heads/$(getBranchName) --exclude=HEAD --all))
if [ -z $logQuery ]; then
echo $true
else
echo $false
fi
}
getBranchName()
{
echo $(git rev-parse --abbrev-ref HEAD)
}
于 2016-01-27T15:51:43.463 回答
12
这是更新钩子,它为新的参考获得零 sha,分支会说头而不是标签
于 2013-01-12T20:54:02.517 回答