本地拒绝服务器上不存在的推送标签
Locally reject pushed tags that don't exist on server
我们使用的是 sourcetree,它默认推送标签(如果您选中了复选框),有人不断推送旧标签和临时标签,弄乱了我们遥控器的标签。我们只想禁用使用预推送挂钩推送标签的功能。
这看起来很简单,但我找不到以前做过的人。
将以下内容放入 hooks/
目录中名为 update
的文件中:
#!/bin/sh
if [[ == refs/tags/* ]]
then
echo "No tags allowed!"
exit 1
fi
exit 0
编辑:如果您真的想要客户端挂钩,请将以下内容放入每个名为pre-push
的文件中开发人员的 .git/hooks
目录(尽管根据 this page 看起来 Stash 支持普通脚本):
#!/bin/sh
while read local_ref local_sha remote_ref remote_sha
do
if [[ $local_ref == refs/tags/* ]]
then
echo "No tags allowed!"
exit 1
fi
done
exit 0
我们使用的是 sourcetree,它默认推送标签(如果您选中了复选框),有人不断推送旧标签和临时标签,弄乱了我们遥控器的标签。我们只想禁用使用预推送挂钩推送标签的功能。
这看起来很简单,但我找不到以前做过的人。
将以下内容放入 hooks/
目录中名为 update
的文件中:
#!/bin/sh
if [[ == refs/tags/* ]]
then
echo "No tags allowed!"
exit 1
fi
exit 0
编辑:如果您真的想要客户端挂钩,请将以下内容放入每个名为pre-push
的文件中开发人员的 .git/hooks
目录(尽管根据 this page 看起来 Stash 支持普通脚本):
#!/bin/sh
while read local_ref local_sha remote_ref remote_sha
do
if [[ $local_ref == refs/tags/* ]]
then
echo "No tags allowed!"
exit 1
fi
done
exit 0