我知道我可以使用commit-msg hook来检查消息(我这样做了)但是我希望在推送之前再次检查消息并使用不同的标准。
.git / hooks下给出的示例是用shell脚本编写的,但是我希望编写一个python脚本,我想到的字符串操作更复杂。
我知道我可以将第一行更改为#!/usr/bin/env python
。我的问题是,我不知道如何获得最新提交的消息字符串。我试验了git rev-list
(在该示例的第44行),但它没有给我消息字符串,它需要提交哈希id。请注意,消息字符串可能是多行的(因为第一行最多限制为50个字符)。
EIDT :其他问题询问如何在Python中编写预推脚本,但它们不涉及检查消息字符串。
答案 0 :(得分:0)
pre-push hook传递了本地/远程引用和提交ID(sha1)的列表,因此您必须逐行读取它们,拆分并获取本地提交ID。 See如何在shell脚本中完成。
拥有提交ID,您可以使用命令
提取完整的提交消息var text = "lorem";
var HTMLString = '<div class="tagsingle" title="delete">'+ text +'</div>';
$(HTMLString).appendTo('#tagstore') // Notice the wrapping $()
在Python中它类似于:
git show --format='%B' -s $SHA1