在推送期间在服务器上创建一个git版本号

时间:2014-09-11 12:13:37

标签: git tags

我希望git在将文件推送到服务器时创建版本号。我从搜索中发现你可以使用预接收挂钩配置。有人可以提供预先接收的钩子吗?

这个钩子应该是本地的还是服务器?

1 个答案:

答案 0 :(得分:0)

它应该在服务器中。我建议你在你的情况下使用update钩子。

  

更新脚本与预接收脚本非常相似,除了   它为每个分支运行一次,推送器正在尝试更新。如果   推动者试图推进多个分支,预先接收运行   只有一次,而更新每个分支运行一次,他们正在推动。

您可以从git repo hooks/update.sample中的示例开始,只需将其复制并重命名为update即可。 Git会自动运行它。

您可以使用git diff在推送​​的提交中更改文件,并为每个文件创建version numbers,但我不确定您的version numbers是什么意思。

git diff oldrev newrev --name-status -M

除了名为update的用户之外,我碰巧编写了一个arc钩子来防止除了来自任何用户的名为git-cc-robot的分支之外的任何推送。您可以在此处找到代码https://github.com/landys/git-cc-robot/blob/master/scripts/githook/%20update-prevent_master.sh