如何获取Git内部版本号并将其嵌入文件中?

qod*_*nja 12 embed git version

我想介绍从Git中的版本中获取的版本控制常量.我知道如何做到这一点 - 在svn中以一种非常强硬的方式 -

有关如何使用Git执行此操作的任何想法?

kub*_*ubi 7

这是我做的:

作为构建过程的一部分,我运行以下脚本(释义,因为我现在不在Xcode)

git describe --all > version.txt
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,我从该文件中读取版本号并将其显示给用户(必要时).确保将version.txt添加到.gitignore.这样做的好处是,如果您标记您的版本git describe将只输出标记,否则它将输出提交哈希.

  • 对我来说这给了我分支名称而不是版本# (2认同)
  • 它将为您提供<last reachable tag> - <自标签提交> - <8位哈希> (2认同)

Nie*_*ard 7

对我来说,git describe最初没有给出标签.但是,以下情况:

git describe --all --long
Run Code Online (Sandbox Code Playgroud)

这导致了kubi所描述的格式.假设你只想要像下面这样的最后一部分(hashtag)(保存到version.txt文件):

git describe --all --long | tr "-" " " | awk '{ print $3 }' > version.txt
Run Code Online (Sandbox Code Playgroud)

编辑:正如一位朋友向我指出的那样cut,如果你愿意的话,实际上可以用它来代替:

git describe --all --long | cut -d "-" -f 3 > version.txt
Run Code Online (Sandbox Code Playgroud)