【发布时间】:2011-10-18 20:36:18
【问题描述】:
有没有办法标记远程 git 存储库而无需在本地克隆它?
为了将代码存储库与配置存储库相关联,我想(作为 CI 构建步骤)使用 build-n 标记配置存储库的当前头部(其中 N 是 jenkins 提供的当前构建号)。
配置存储库不用作构建的一部分,我只是想要一种简单的方法来获取配置修订,例如在构建版本 1234 时,并将其标记为“build-1234”似乎实现这一目标的最简单方法。
【问题讨论】:
-
您如何访问此存储库?例如,如果这是一个裸存储库并且您使用 SSH 访问它,我认为您可以通过 SSH 对其执行标记命令。
-
@Legolas 不,你不能在裸仓库中运行任何命令。
-
我刚刚尝试在一个裸存储库上运行
git tag alpha master,它成功了。 -
@Legolas 您是否使用“git init --bare”或远程系统创建了您的存储库,然后从本地分支推送更改,然后进入远程服务器上的目录并能够运行“ git标签'在那里?我怀疑是因为“裸”目录根据定义没有工作树。如果我错了,请纠正我:)
-
我做了一个裸仓库,然后我克隆了它并推送了一些测试文件,因为不需要空仓库,然后我在裸仓库中执行了标签命令,然后我将它拉出来看看是否有新标签存在。问题是所有命令都不需要工作目录,您只需进入 git 目录 self 即可执行命令。我在我的 git-server 上使用这种类型的工作进行维护。无论如何,我认为标记一个远程存储库是不可能的,因为这个提议实际上是在标记一个裸存储库,而它恰好是另一个存储库的远程。