标签: git-tag

Git标签发布版本?

预发布版本可以通过在补丁版本之后立即附加破折号和一系列点分隔标识符来表示.示例:1.0.0-alpha,1.0.0-alpha.1,1.0.0-0.3.7,1.0.0-x.7.z.92.

semver.org

出于消除歧义的目的,标记发布提交(从主分支提交)的"正确"方法是什么?

一些想法

v1.7.2-release
v1.7.2-master
v1.7.2-prod
v1.7.2-official
v1.7.2-stable
Run Code Online (Sandbox Code Playgroud)

github.com/antirez/redis/tags

git git-tag git-branch

5
推荐指数
1
解决办法
5840
查看次数

有没有办法准备git标签消息?

在git中添加新标记时,我想在$ EDITOR激活之前自动修改默认(空)标记消息 - 类似于git允许通过prepare-commit-msg钩子准备提交消息的方式.

例如:

git tag -s v1.2.3
Run Code Online (Sandbox Code Playgroud)

应该用预填充的内容打开我的编辑器,如下所示:

Release v1.2.3:

  * Dynamically generated message 1

  * Dynamically generated message 2

Default standard text.

#
# Write a tag message
# Lines starting with '#' will be ignored
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?不幸的是,prepare-commit-msg钩子不能用于标记消息.(或者这个,或者我太笨了,无法知道如何去做.)

git git-tag

5
推荐指数
1
解决办法
1658
查看次数

git子树拆分 - 标签不会被转移

我有一个git项目有一个很大的根目录:

C:\MyProject\MyProject
C:\MyProject\.git
Run Code Online (Sandbox Code Playgroud)

然后所有文件和子目录都在里面C:\MyProject\MyProject.我想删除那个多余的根目录,所以我使用了这个命令:

git subtree split -P MyProject -b MyBranch
git checkout MyBranch
git branch -D master
git branch -m MyBranch master
Run Code Online (Sandbox Code Playgroud)

但是,此解决方案存在问题 - 标记仍附加到现已删除的原始主分支:

在此输入图像描述

灰色分支是原始主分支,红色分支是没有冗余目录的新分支,但标记仍然附加到旧分支的签入.

git git-tag git-subtree

5
推荐指数
1
解决办法
723
查看次数

在标签上挑选樱桃会影响后者吗?

在发布时,我检查了以前发布的标签,并在其中挑选了新项目(使用git cherry-pick <commit-id>)。然后,我使用git tag <tag-name>.

这会影响我精心挑选的旧标签吗?

git git-tag git-cherry-pick

5
推荐指数
1
解决办法
7026
查看次数

Git:查找所有标签,可从提交访问

如何列出可从给定提交访问的所有标签

对于所有分支,它都是git branch --all --merged <commit>。对于最近的标签,它是git describe.

手册页git-tag建议git tag -l --contains <commit> *,但此命令不显示我知道可以访问的任何标签。

git git-tag

5
推荐指数
1
解决办法
1259
查看次数

为什么用git标签blob或树(或标签)?

我了解如何使用git标记来标记blob,树或什至另一个带注释的标记。我了解使之成为可能的架构和概念设计。

但是,我很难想到这个的实际应用程序(或“实际工作流”应用程序)。

在此处的Stack Overflow上搜索时,我仅找到一个答案,其中提到标记未提交的对象,建议不要这样做

什么可能的情况下,可以把它永远是适当的标记非承诺对象?

git git-tag

5
推荐指数
1
解决办法
815
查看次数

从当前提交中获取最新的git标记

我试图从我树中的某个点获取最新的git标签.

树看起来如下:

* 334322c|2016-12-06| (tag: 0.1265, tag: 0.1264) (18 hours ago)
* 739392e|2016-12-06| (HEAD -> testbranch, tag: 0.1263, tag: 0.1262) (19 hours ago)
* 8ec1add|2016-12-06| (tag: 0.1261, tag: 0.1260, tag: 0.1259) (20 hours ago)
* 5b2667b|2016-12-06| (tag: 0.1258) (21 hours ago)
* c7ff4bc|2016-12-06| (tag: 0.1257, tag: 0.1256) (22 hours ago)
Run Code Online (Sandbox Code Playgroud)

0.1263 是我正在寻找的git标签.

739392e使用git describe --tags返回时0.1262,它只是该提交的第一个标记,而我没有得到所有候选者.

739392e使用git describe --tags $(git rev-list --tags --max-count=1)return时0.1265,树上的最新标记(无论HEAD在哪里).

git git-tag

5
推荐指数
1
解决办法
1245
查看次数

Git 标签保留在 Jenkins 中

我想删除我的项目的所有 Git 标签,我将其git tag -d用于本地标签,然后将其推送到origin,因此origin也删除了其中的标签。

事实上,如果我运行git tag -lgit ls-remote --tags origin然后不显示标签。

但是,我的构建设置为每当我推送时,都会在 Jenkins 中触发构建。当在运行 Jenkins 的机器上触发构建时,git tag -l会显示几个标签。

如何删除这些标签?

git git-tag jenkins

5
推荐指数
2
解决办法
3358
查看次数

标签和提交消息之间的区别

我了解人们总是需要一条消息来提交更改,但是何时以及为什么还需要标记一次提交?假设我进行了一些更改并使用

git add -A
git commit -m "add feature 1"
Run Code Online (Sandbox Code Playgroud)

现在

git tag -a -m "includes feature 1" v0.1
Run Code Online (Sandbox Code Playgroud)

问题是,何时才有意义。

git git-commit git-tag

5
推荐指数
2
解决办法
1167
查看次数

如何使用 Azure Devops 和 Cake Build 在构建时自动标记和版本?

我正在使用 Cake 脚本通过持续集成在 Azure DevOps 中构建我的软件。要求是当我们提交/合并到 dev 或 master 分支时,适当的构建管道被启动。作为此构建的一部分,我们需要自动标记和版本我们的软件。我的蛋糕脚本中已经有以下代码可以使用 GitVersion 将语义版本控制添加到我的构建中:

Task("Version")
    .Does(() => 
    {
        Information("Versioning software for configuration {0} of {1}...", configuration, solution);
        GitVersion(new GitVersionSettings {
            UpdateAssemblyInfo = true,
            OutputType = GitVersionOutput.BuildServer,
            WorkingDirectory = toolsDirectory
        });
        GitVersion versionInfo = GitVersion(new GitVersionSettings{ OutputType = GitVersionOutput.Json });

        Information("Semantic Version: " + versionInfo.AssemblySemVer);
        Information("Full Semantic Version: " + versionInfo.AssemblySemFileVer);
        Information("Informational Version: " + versionInfo.InformationalVersion);
    });
Run Code Online (Sandbox Code Playgroud)

我希望团队负责人或权威人士在此代码与分支合并之前增加主要和次要构建版本。或者我希望管道自动对软件和我们在构建管道末尾创建的最终 zip 工件进行版本控制。

所以这里是我的问题:

  1. 如何自动增加我的版本号和标签?
  2. 我应该避免自动递增吗?
  3. 如何在 Azure DevOps 构建过程中将版本号添加到我的工件名称中?
  4. 我需要在我的 git 版本代码中更改什么才能使用标签?
  5. 如何添加后缀以使版本控制和标记更像“git flow”(例如“预发布”等)?

这有点宽泛,但我正在努力寻找在 …

git git-tag gitversion cakebuild azure-devops

5
推荐指数
1
解决办法
1900
查看次数