在git push上更新项目版本号

dab*_*abs 14 git push version master increment

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

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

Von*_*onC 6

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

不是在repo中跟踪的文件,因为它将是另一个提交的一部分.
正如" 我如何为Git repos启用ident字符串? "中所解释的那样,这是一个任务(生成构建信息),最好留给构建系统,而不是某种钩子/内容过滤器.

任何repo托管服务都可以有webhooks(GitHub,BitBucket),允许你将某种进程附加到事件(如git push),但这些进程将在客户端执行(客户端监听由生成的JSON有效负载)说webhook):没有在GitHub/BitBucket服务器上执行任何操作(除了BitBucket经纪人,主要是与其他第三方服务进行通信).

其中一个方法可以工作,虽然是一个post-commit钩子(前推客户端上执行)使用:

这样,每个提交都会使用a git notes的内容更新所述提交git describe.

使用git notes的想法是它们不会更改与repo关联的SHA1,这意味着您可以提交添加它们.
然后,您可以将这些注释推送到GitHub并查看它们.

git push origin refs/notes/*
Run Code Online (Sandbox Code Playgroud)

通过Matthew McCullough的 " Git Notes and GitHub " 查看更多内容.