标签: git-tag

Gitlab CI/CD 自动标记发布

我试图让我的 GitLab 管道自动标记分支,master但没有成功。

我想做的事

由于该项目是一个composer包,所以我想要做的是从文件中获取版本号composer.json,将其存储在一个变量中,然后使用这个变量与git来标记分支。

我在做什么

这是我的管道工作部分.gitlab-ci.yml

tagging:
  stage: publish
  image: alpine
  only:
    - master
  script:
    - version=$(cat composer.json | grep version | grep -Eo "[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+")
    - git tag "$(version)"
    - git push --tags
Run Code Online (Sandbox Code Playgroud)

错误

我实际上无法判断问题是什么,因为 GitLab 作业输出中没有显示任何输出,如下图所示

在此输入图像描述

continuous-integration git-tag gitlab-ci

6
推荐指数
1
解决办法
3万
查看次数

当一个(未合并的)Git分支不再有效时删除它?

我在Git中有一些用于创建紧急版本的维护分支(即修复生产中的关键错误).这些分支通常不会合并回master,因为它们要么包含一次性修复,要么具有从master中挑选出来的更改.

作为一种惯例,如果这些维护分支被标记(在构建时),是否应该在Git中删除它们?删除它们会导致这些提交丢失吗?

git branch git-tag

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

更改git标签并重新推送

我可以进入一个taggit并进行修改和repush该标签和新的变化?

我试过了:

 git tags
     0.2.0
     0.2.1

 git checkout 0.2.0
Run Code Online (Sandbox Code Playgroud)

然后,我做了一些更改,并做了:

 git add .
 git commit -a -m "Cleanup."
 git push --tags
Run Code Online (Sandbox Code Playgroud)

但它说没有改变要推动。

git git-tag

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

如何在git中查找其历史记录中包含提交的所有引用

让我们假设你在git中有以下结构

    A <-- refs/heads/somebranch
    |
    B 
    | \
    C  D <-- refs/tags/TAG1
    |  |
    E  F
    |  | \
    G  H  I <-- refs/heads/branch1                
    |
    J <-- refs/heads/master
Run Code Online (Sandbox Code Playgroud)

现在我想B在历史记录中找到包含提交的所有引用.

如果我能这样做会很好

$ git refs --contains B
refs/tags/TAG1
refs/heads/branch1
refs/heads/master
Run Code Online (Sandbox Code Playgroud)

我看了一下git decumentation,发现git branch -a --contains <commit_id>哪个列出了包含a的所有分支commit_id.

$ git branch -a --contains 4af9822
  master
  remotes/origin/someBranch
  ...
Run Code Online (Sandbox Code Playgroud)

然后我找到了命令 git tag --contains 9338f2d

$ git tag --contains 9338f2d
  someTag
  anotherTag
  ...
Run Code Online (Sandbox Code Playgroud)

我当然可以这样做,

$ git branch -a --contains 4af9822 && …
Run Code Online (Sandbox Code Playgroud)

git git-tag git-branch

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

如何仅显示带注释标签的消息?

git中似乎有一些方法可以显示带注释的标记的消息以及提交详细信息和其他内容git show the_tag,或名称和详细信息git tag -l -n100 the_tag

但是,什么命令显示消息/正文,而没有其他内容呢?

git git-tag

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

在具有多个标记的提交中显示最新标记

我有一个大型项目的脚本,十个存储库,用于检出分支(本地,远程或标记)并最终显示每个存储库中每个存储库的当前分支.

git branch用来显示当前存储库中签出的分支或标记.这在大多数情况下都可以正常工作,除非在同一个提交中有多个标记,导致在该提交中打印一个随机标记.

我怎样才能解决这个问题?我应该以不同的方式实现它吗?

for repo in ...
do
  cd repo
  git checkout $1 || git checkout $2 || git checkout $3 ....
  git branch ##(to verify what happened)
done
Run Code Online (Sandbox Code Playgroud)

所以,让我说我运行./checkoutAll feat1 origin/feat1 tags/ALL7 但是ALL7标签与同一个提交ALL6, git branch显示ALL6而不是ALL7我特别要求结帐.

编辑:下面的图片是为了帮助那些试图帮助我的人,

在此输入图像描述

所以,让我说我运行git checkout tags/V9.00.00.ALL.04 然后git branch显示一个随机标签(* detached from ..)的存在,在这个例子中7.有没有办法显示最新的?或至少显示我要求结账的那个(即使ALL7与ALL9相同)?

git git-tag

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

使用git子树检出特定标记

我可以在子树中使用标签吗?根据具体问题:

我有一个git存储库,其中包含一个外部存储库作为子树.我可以添加此外部存储库并从此存储库中签出特定分支.随着git subtree pull --prefix=<dir> --squash <remote> <branch>所选分支的更新运行良好.

现在可以签出特定的标签吗?我无法在子树中找到有关标签的一些信息......

git git-tag git-subtree

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

Github Branch,标签:如何获取代码的特定版本?

我是Git hub的新手,我对标签和分支的概念感到困惑(这里解释)我想从git hub获得一个稳定版的PhantomJS(版本2.1.0).但我不明白我是否应该这样做:

git checkout master
git remote add upstream https://github.com/ariya/phantomjs.git
git fetch upstream
git rebase --onto tags/2.1.0 upstream/master master
Run Code Online (Sandbox Code Playgroud)

要么

git init
git remote add -t 2.1 -f origin https://github.com/ariya/phantomjs.git
git checkout 2.1
Run Code Online (Sandbox Code Playgroud)

你能解释一下,为什么?

git github git-tag git-branch

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

我如何计算git标签和原始提交之间的时差

我想找出提交时间和标记提交时间之间的时间差.

这是我到目前为止,但我认为这是正确的字段的committerdate是null.

git for-each-ref --format='%(taggerdate) : %(committerdate) :  %(refname)' --sort=-taggerdate --count=10 refs/tags
Run Code Online (Sandbox Code Playgroud)

我猜我只看标签,但我无法做到.在一个理想的世界中,它会显示时间之间的差异,但如果不可能,我可以在之后做到这一点.

git git-tag

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

TFS 2017 Update 2 - 无法编辑/删除Git标签

最后能够在TFS 2017 Update 2之后直接从TFS门户使用标记功能,我开始添加Git标签.

注意到某些标签缺失说明(在Git中标记消息),我试图编辑标签; 我似乎无法找到编辑/删除标签的选项.

如何在git中编辑现有标记消息中提示?,我试图通过创建具有相同名称的标签来覆盖标签.TFS引发了A Git ref with the name <tagName> already exists.错误.

我或许可以按照如何删除git远程标记?从我的Windows机器上使用Git Bash.我试图在TFS门户中找到一种方法来实现这一点.

如何在TFS 2017 Update 2 Portal中编辑/删除Git标签?

git tfs git-tag tfs2017

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