繁体   English   中英

合并分支与标签 - Gitlab

[英]Merge a branch with tag - Gitlab

在我们的企业中,作为DevOps团队的一员,我们没有权限在本地笔记本电脑上安装git并获取GitLab代码库。 Jenkins工具有对GitLab repo的ssh访问权限,但是我们没有jenkins的ssh访问权限(安装了Git)。 我们可以通过GitLab门户看到repo,就像这样 ,然后配置Jenkins从GitLab获取代码。

所以,我不能在我的笔记本电脑上运行像git log --all --decorate --oneline --graph这样的命令来理解合并方面。


在我们企业的Gitlab门户的标签部分下,我看到一个条目,如下所示:

在此输入图像描述


我理解标签是git commit hash key(40 char)的别名, 但我需要澄清上面的条目,其中为分支( feature-branch-x )到分支的合并指定了标记名称( sprint12-tag )( develop )。

如前所述这里一个标签代表在某一瞬间的版本一个特定的分支 分支代表一个单独的开发线程,可以与同一代码库上的其他开发工作同时运行。

所以,我的理解是,标签sprint12-tag已被分配给feature-branch-x上的特定提交(不能是最新的提交),如下所示:

在此输入图像描述


截至目前,当我点击左上图标时,我在GitLab主页中看到以下选项

在此输入图像描述


问题:

0)如何在GitLab门户上查看这些图表(上图)? 除非我们在本地笔记本电脑上运行git log --all --decorate --oneline --graph ...

1)在任何分支上使用上面的标记( sprint12-tag )(在本例中为feature-branch-x ),我可以这样说,开发人员在命令下运行了吗?

$ git checkout develop
$ git merge sprint12-tag # ignoring the latest commit c5 on 'feature-branch-x'

$ #   or it can be `git merge e324567`

2)我如何理解下面的条目? 这里的例子...

在此输入图像描述

在GitLab上,选择左侧边栏中的Repository > Graph来查看repo的提交树。 这将显示所有提交和合并,并使用分支名称和标记进行注释。

[2.2]是标签。

我会说,通常,开发人员合并某些工作手动标记提交。 您将最终的合并或PR从dev转换为master并获得最终的合并提交。 然后将此合并提交标记为release2.0并且永远不会从该提交移动。 我确信这在一些组织中也是自动化的。

我如何理解以下条目?

该图像显示名为v11.7.5的标记。 此标记已在GitLab上注释(不在git本身中)作为“Version v11.7.5”。 标记指向的提交是c5b5b18b 该提交的提交消息是Update VERSION to 11.7.5

例:

https://code.sealedabstract.com/drewcrawford/CaveJohnson2/network/master

在此输入图像描述

标签表示某个时刻特定分支的版本。

这句话具有误导性。 标签和分支是两个独立的东西。 您应该将标记视为特定提交时的静态标记。 另一方面,分支是动态的,并且在向分支添加提交时移动。 有关分支和标签之间的不同之处的更多讨论,请查看我们的软件工程姊妹网站上的此问答

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM