2

我正在将我的 VCS 从 Subversion 迁移到 Git。当我使用 Subversion 时,我曾经使用 Subversion 修订号作为我的程序集版本的最后一个组件。在 TeamCity 中,我将其用作内部%build.vcs.number%版本号格式的一部分,并在编译之前使用“AssemblyInfo Patcher”(或有时是 MSBuild 社区任务)使用版本号更新我的 AssemblyVersion 属性。这一切都运作良好,并且可以轻松地将任何给定的程序集追溯到确切的源版本。

不幸的是,在 Git 中,不再有修订号。相反,我们有不能在 AssemblyVersion 中使用的长十六进制哈希码。到目前为止,这是我对改用 Git 感到遗憾的一件事。

有没有办法从 Git 中检索一个简单的数字版本标识符,我可以在我的构建配置中使用,如上所述?

4

1 回答 1

1

git describe 是我找到的最接近修订号的。它给你

  • 最后一个标签的名称
  • 自该标签以来的提交次数
  • 提交 SHA
$ git clone git://github.com/antirez/redis

$ cd redis

$ git describe
with-deprecated-diskstore-2853-g5a526c2

或者如果你只想要号码

$ git describe | awk '$0=$--NF' FS=-
2853
于 2013-04-18T23:03:36.857 回答