[英]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
被快速release
( git push origin release:master
),现在v2
已发布。 如果候选发布版本在任何时候都未通过测试,则将release
分支丢弃,并退回到master
( git push -f origin master:release
),因此feature-Y
不再是主线的一部分。 但是, v2
在后代中仍然存在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.