【发布时间】:2015-05-14 03:50:29
【问题描述】:
我正在编写一个 Puppet 模块,用于管理当前在本地 Git 存储库中签出的分支或标签。我基本上想让用户指定他们想要签出的存储库版本。这可能是master(一个分支)或v3.6.2(一个标签)。
这是我目前所得到的:
exec { 'gitolite_select_version':
command => "git checkout ${actual_version}",
cwd => '/usr/src/gitolite',
path => '/bin:/usr/bin',
unless => "test \"$(git describe --contains --all HEAD)\" == ${actual_version}""
}
这在 master 之类的分支上运行良好,但在分离的 HEAD (如标签)上时输出不佳。 master上的例子
$ git describe --contains --all HEAD
master
标签示例:
$ git describe --contains --all HEAD
tags/v3.6.2^0
是否有一个 Git 命令可以让我以简单、统一的格式获取分支名称或当前标签?
【问题讨论】:
-
vcsrepo中的revision参数是否不足以满足您的需求?