在git push上更新项目版本号

时间:2014-06-16 02:45:52

标签: git version push increment master

我有一个在Github上托管的项目,我想设置它以使项目有一个版本号,版本号只在更新主分支时更新,可以通过推送直接更新,也可以通过合并的Pull请求。

有没有办法让git / Bitbucket更新特定文件中的特定号码?如果只有一个专门用于此目的的文件,包含一个数字就可以了。我假设我能够编写代码,询问我的项目使用的版本,只会读取该文件。我的项目是一个C#Web API项目,虽然我不太确定这一点很重要。

1 个答案:

答案 0 :(得分:6)

  

有没有办法让git / Bitbucket更新特定文件中的特定号码?

不是在回购中跟踪的文件,因为它将是另一个提交的一部分。
正如" How do I enable ident string for Git repos?"中所述,这是一项任务(生成构建信息),最好留给构建系统,而不是some kind of hook/content filter

任何repo托管服务都可以有webhooks(GitHubBitBucket),允许您将某种进程附加到事件(如git push),但这些进程将在客户端上执行side(客户端监听由所述webhook生成的JSON payload):GitHub / BitBucket服务器上没有执行任何操作(可能BitBucket brokers除外,主要是与其他第三方服务通信)。

可以工作的一种方式是使用以下方法提交挂钩(在推送之前在客户端上执行):

这样,每次提交都会更新所述提交的git notes,内容为git describe

使用git notes的想法是他们不会更改与repo关联的SHA1,这意味着您可以在提交后添加。 然后,您可以push those notes to GitHub and see them

git push origin refs/notes/*

使用" Git Notes and GitHub " Matthew McCullough