我建议使用适当的标记方法来跟踪最新的项目/分支状态。即使分支历史记录在被删除后保存在存储库中,有时也很难(或者只是需要很长时间)使用peg revisions
.
至于我,我使用细粒度标记方法,可以通过下图来说明(在这里你可以找到代表相同原理的更详细的图):
正如您所看到的,它使用了构建存储库的特定约定。标签目录将有以下子目录:
/tags
/builds
/PA
/A
/B
/releases
/AR
/BR
/RC
/ST
PA
表示pre-alpha
A
表示alpha
B
表示beta
AR
表示alpha-release
BR
表示beta-release
RC
表示候选版本
ST
表示稳定
按照所描述的约定,您的存储库中将具有特定的目录结构:
/tags
/builds
/PA
/1.x.0
/1.x.3
/2.x.0
/A
/1.x.1
/1.x.4
/2.x.1
/B
/1.x.2
/1.x.5
-> /2.x.2 <-
/releases
/AR
/1.0.0
/BR
/1.0.1
/RC
/1.0.2
/1.0.3
/ST
-> /1.0.4 <-
预计在您删除分支之前,您在相应的目录中创建标签。然后,您可以轻松地在例如目录tags/builds/B
或tags/releases/ST
目录中找到已删除分支的最新状态。