如何在Git repo中克隆最新标记

如何在Git repo中克隆最新标记,git,Git,列出最新的标记而不进行克隆。 我需要一种能够直接从最新标签克隆的方法 git ls-remote --tags git://github.com/git/git.git $git克隆 #进入回购文件夹 $cd #从远程获取新标记 $git fetch--标记 #获取最新的标记名,将其分配给变量 $latestTag=$(git descripe--tags`git rev list--tags--max count=1`) #签出最新的标签 $git checkout$latestTag 找

列出最新的标记而不进行克隆。 我需要一种能够直接从最新标签克隆的方法
git ls-remote --tags git://github.com/git/git.git
$git克隆 #进入回购文件夹 $cd #从远程获取新标记 $git fetch--标记 #获取最新的标记名,将其分配给变量 $latestTag=$(git descripe--tags`git rev list--tags--max count=1`) #签出最新的标签 $git checkout$latestTag
找到此解决方案

调用此
~/bin/git克隆最新标记

#/bin/bash
设置-euo管道故障
basename=${0##*/}
如果[$#-lt 1]];然后
printf“%s:克隆远程服务器上的最新标记。\n'$basename'>&2
printf'用法:%s[其他参数]\n'$basename'>&2
出口1
fi
remote=${*:-1}#获取最后一个参数
echo“从:$remote获取标记列表”
tag=$(git ls remote--tags--exit code--refs“$remote”\
|sed-E的/^[:xdigit:][+[:space:][]+refs\/tags\/(.+)/\1/g'| tail-n1)
回显“所选标签:$tag”
#尽可能浅地克隆。Remote是最后一个参数。
git clone--分支“$tag”--深度1--浅层子模块--递归子模块“$@”
然后你可以做:

# Clone repo
$ git clone <url>

# Go into repo folder
$ cd <reponame>

# Get new tags from the remote
$ git fetch --tags

# Get the latest tag name, assign it to a variable
$ latestTag=$(git describe --tags `git rev-list --tags --max-count=1`)

# Checkout the latest tag
$ git checkout $latestTag

我想这个命令应该是“git clone latest tag”而不是“git clone latest tag”,不是吗?@Cris70不是这样,
git
使用
git clone latest tx
在内部查找名为
git-*
的脚本也将为您提供
最相似的命令是clone latest tag
@Cris70这两个命令都适用于Windows用户:Open git bash。键入
cd/bin
。然后键入
start.
打开浏览器中的
/bin
目录(通常是
C:\Program Files\Git\usr\bin
)。在这里插入脚本。
% git clone-latest-tag https://github.com/python/cpython.git
Getting list of tags from: https://github.com/python/cpython.git
Selected tag: v3.8.0b1
Cloning into 'cpython'...
remote: Enumerating objects: 4346, done.
...