当 git clone --depth 1 不起作用时结帐到分支

use*_*356 4 git git-checkout

set -e
cd /source

git clone --depth 1 https://github.com/named-data/ndn-cxx.git

pushd ./ndn-cxx

git checkout -b release-build ndn-cxx-0.3.3

./waf configure

./waf

./waf install

popd

rm -rf ./ndn-cxx
Run Code Online (Sandbox Code Playgroud)

我正在运行上述脚本,但收到错误:“克隆到 'ndn-cxx'... /source/ndn-cxx /source 致命:无法同时更新路径并切换到分支 'release-build' . 您是否打算签出无法解析为提交的 'ndn-cxx'?

edi*_*999 6

默认情况下,如果您指定该--depth选项,git 将只获取 master 分支,因此您将无法结帐到任何其他分支。

您可以编写以下内容:

git clone --depth 1 <url> --single-branch --branch <branch>
Run Code Online (Sandbox Code Playgroud)

检索最新版本的<branch>,如下所示:

git clone --depth 1 https://github.com/named-data/ndn-cxx.git --single-branch --branch ndn-cxx-0.3.3
Run Code Online (Sandbox Code Playgroud)

你不必git checkout在克隆之后做