如何在预提交挂钩中添加/更改文件?

时间:2013-03-09 07:45:35

标签: git githooks

我想编写一个钩子来检查正在提交的文件中的某些编码约定,如果违反这些约定,则拒绝提交/推送。但是,在我的“拒绝消息”中,我想告诉提交者行号,找到违规行为。

到目前为止,我能想到的最好的方法是让整个文件被提交,这将允许我计算行数。这也将允许我在早期代码中找到相同的编码约定违规,以便程序员必须清理他们碰巧修改的整个文件。

有可能吗?如何获取整个新文件。

1 个答案:

答案 0 :(得分:1)

您可以使用git cat-file获取任何Git对象的内容(您也可以先使用它来查找对象的类型,以确定)。

正如您在对问题的评论中指出的那样,直接从文件系统中读取文件并不总是有效,因为它可能没有完全暂存,或者自上台以来可能已经发生了变化。