繁体   English   中英

Git显示最后部署的分支

[英]Git show last branch deployed

无论一个人正在使用的构建/部署过程如何,有没有办法显示最新的部署是从哪个分支启动的git

我意识到部署和git是无关的,所以我不是只执行一个命令。

为了说明我的意思,想象一下您正在跳一个以前从未从事过的项目,并且不确定要部署哪个分支。 仅通过一系列git命令找出答案会不会很甜蜜?

如果您不希望真正承担构建过程的任何事情,那么这是不可能的,因为这意味着您不能假设构建过程会将任何记录记录回版本控制系统中(例如,您可以拥有一个简单的部署过程)在某个地方的盒子上发出git pull )。

如果假设您的构建过程是从给定分支(例如master )构建的,并且每次进行构建时都对该分支进行标记,则git describe master将告诉您master分支中的最新标签。

在这种情况下,这可能只会告诉您最新的版本 ,而不是最新的部署。 从这个意义上讲,这些标签是发行候选版,您必须做出更多假设才能找到最新的部署。

我们使用以下策略:

M─┐ [v2] [release] Merge branch 'feature-Y' into release
│ o [feature-Y] Commit F
│ o Commit E
│ o Commit D
M─┤ [v1] [master] Merge branch 'feature-X' into release
│ o [feature-X] Commit C
│ o Commit B
│ o Commit A
I─┘ Initial commit

这告诉您一些事情:

  • 我们仅维护此应用程序的一个版本。
  • master当前生产版本的信息。 (因此v1当前处于活动状态。)
  • 在功能分支中进行提交,并在准备好时合并到release
  • 在这里,新feature-Y是我们的候选版本,已由我们的构建过程进行了构建并将其标记为v2
  • 将其部署到预生产环境中进行测试。
  • 测试完成后,该构建将升级为可使用。
  • 一旦每个人都对它的实时运行感到满意, master被快速releasegit push origin release:master ),现在v2已发布。
  • 重复!

如果候选发布版本在任何时候都未通过测试,则将release分支丢弃,并退回到mastergit push -f origin master:release ),因此feature-Y不再是主线的一部分。 但是, v2在后代中仍然​​存在。

暂无
暂无

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

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