在Git中的新提交上应用现有标记

时间:2014-11-11 09:26:13

标签: git git-tag

我有一个名为tag_0.0.1的标签,它被推送到Git Repository中。我每天运行几次构建。我不是每次都创建新标签,而是想重写相同的标签。应对现有标签应用新的更改,并将其推送到repo。我知道我们可以删除repo上的标签并在本地创建它并推送它。有没有办法在现有标签上应用新提交?

这是我试过的:

git tag

tag_0.0.1

代码更改后 - 删除

git tag -d tag_0.0.1

git push --delete origin tag_0.0.1

重新创建并推送

git tag tag_0.0.1

git push --tags

我觉得它没有意义。有没有更好的方法?我也想知道如何推送特定提交而不是推送所有提交。

1 个答案:

答案 0 :(得分:2)

  

应标记每个构建更改。这样我们就可以随时获得具体的提交。

您的构建过程应该使用git describe合并最后一个标记和当前SHA1。

你可以在" Automatic versioning in Xcode with git-describe"中找到一个例子。 (甚至git describe --dirty),使用

VERSION=`git describe --dirty |sed -e "s/^[^0-9]*//"`

其他例子:

那样:

  • 您正在构建的二进制文件包含的信息允许您了解用于构建所述构建的代码的确切版本。
  • 您将标记限制为计算的实际版本(如用于制作正式版本的稳定版本)