我正在尝试如何下载Git存储库的特定标签,它比当前版本落后一个版本。
我看到git网页上有一个前一个版本的标记,对象名是长十六进制数。
但根据网站的说法,版本名为“标记版本1.1.5”。
我尝试了这样的命令(名称已更改):
git clone http://git.abc.net/git/abc.git my_abc
我确实得到了一些东西——一个目录,一堆子目录等等。
如果它是整个存储库,我如何获得我正在寻找的版本?如果没有,我如何下载该特定版本?
我正在尝试如何下载Git存储库的特定标签,它比当前版本落后一个版本。
我看到git网页上有一个前一个版本的标记,对象名是长十六进制数。
但根据网站的说法,版本名为“标记版本1.1.5”。
我尝试了这样的命令(名称已更改):
git clone http://git.abc.net/git/abc.git my_abc
我确实得到了一些东西——一个目录,一堆子目录等等。
如果它是整个存储库,我如何获得我正在寻找的版本?如果没有,我如何下载该特定版本?
当前回答
首先获取特定远程中的所有标记
git fetch <remote> 'refs/tags/*:refs/tags/*'
或者只是简单地键入
git fetch <remote>
然后检查可用标签
git tag -l
然后使用以下命令切换到该特定标签
git checkout tags/<tag_name>
希望这对你有所帮助!
其他回答
首先获取特定远程中的所有标记
git fetch <remote> 'refs/tags/*:refs/tags/*'
或者只是简单地键入
git fetch <remote>
然后检查可用标签
git tag -l
然后使用以下命令切换到该特定标签
git checkout tags/<tag_name>
希望这对你有所帮助!
$ git clone
将为您提供整个存储库。
克隆后,您可以使用$git标记-l列出标记,然后签出特定标记:
$ git checkout tags/<tag_name>
更好的是,签出并创建一个分支(否则,您将在以标记的修订号命名的分支上):
$ git checkout tags/<tag_name> -b <branch_name>
我这样做了
git checkout tags/20210511 -b 20210511-release
try:
git clone -b <name_of_the_tag> <repository_url> <destination>
对于仅签出用于部署的给定标记,我使用例如:
git clone -b 'v2.0' --single-branch --depth 1 https://github.com/git/git.git
如果您只对最新的代码感兴趣,而不是对完整的存储库感兴趣,那么这似乎是从远程存储库中检出代码的最快方式。以这种方式,它类似于“svn co”命令。
注意:根据Git手册,默认情况下,传递--depth标志意味着--单个分支。
--深度,深度创建一个浅层克隆,其历史记录被截断为指定的提交次数。这意味着——单个分支,除非——没有给定单个分支来获取所有分支尖端附近的历史记录。如果要浅层克隆子模块,也可以通过浅层子模块。