浏览 git 文档,我看不到任何类似于 SVN 的提交 Hook 或“propset”功能的东西,例如,只要提交到存储库,就可以更新文件中的版本号或版权声明。
是否期望 git 用户为此类功能编写外部脚本(这似乎不是不可能的),还是我只是错过了一些明显的东西?
编辑:为了清楚起见,我更感兴趣的是,例如,
svn propset svn:keywords "Author Date Id Revision" expl3.dtx
像这样的字符串:
$Id: expl3.dtx 780 2008-08-30 12:32:34Z morten $
每当发生提交时,相关信息都会保持最新。
最佳答案
我写了一个fairly complete answer到别处,代码显示如何做到这一点。总结:
- 你可能不想这样做。使用
git describe
是一个合理的选择。 - 如果您确实需要这样做,
$Id$
和$Format$
非常简单。 - 任何更高级的东西都需要使用
gitattributes
和自定义过滤器。我提供了$Date$
的示例实现。
基于钩子(Hook)函数的解决方案通常没有帮助,因为它们会使您的工作副本变脏。
关于svn - git 是否有类似 `svn propset svn:keywords` 或提交前/提交后的 Hook ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39742/