协慌网

登录 贡献 社区

使用 Git 下载特定标签

我试图找出如何下载 Git 存储库的特定标记 - 它是当前版本背后的一个版本。

我在 git 网页上看到了以前版本的标签,对象名称为长十六进制数。

但根据网站版本名称为 “ Tagged release 1.1.5 ”。

我尝试了这样的命令(名称已更改):

git clone http://git.abc.net/git/abc.git my_abc

我确实得到了一些东西 - 一个目录,一堆子目录等。

如果它是整个存储库,我如何获得我正在寻找的版本?如果没有,我该如何下载该特定版本?

答案

$ git clone

将为您提供整个存储库。

克隆之后,您可以使用$ git tag -l列出$ git tag -l ,然后签出特定标记:

$ git checkout tags/<tag_name>

更好的是,结帐并创建一个分支(否则您将在以标记的修订号命名的分支上):

$ git checkout tags/<tag_name> -b <branch_name>
git clone --branch my_abc http://git.abc.net/git/abc.git

将克隆回购并留下您感兴趣的标签。

1.8.0 git clone状态的文档。

--branch 还可以在生成的存储库中的标记处获取标记并分离 HEAD。

我不是 git 专家,但我认为这应该有效:

git clone http://git.abc.net/git/abc.git
cd abc
git checkout my_abc

要么

git clone http://git.abc.net/git/abc.git
cd abc
git checkout -b new_branch my_abc

第二个变体基于标记建立新分支,这样可以避免 “分离的 HEAD”。 (git-checkout 手册)

每个 git repo 都包含整个修订历史记录,因此克隆 repo 可以让您访问最新的提交,以及之前的所有提交,包括您正在寻找的标记。