当 git clone --depth 1 不起作用时签出分支
Checkout to branch when git clone --depth 1 doesn't work
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
我是 运行 上面提到的脚本,但是收到错误:“克隆
进入 'ndn-cxx'...
/source/ndn-cxx /来源
致命:无法同时更新路径和切换到分支 'release-build'。
您是否打算签出无法作为提交解析的 'ndn-cxx'?
默认情况下,如果您指定 --depth
选项,git 将只获取 master 分支,因此您将无法检出到任何其他分支。
你可以这样写:
git clone --depth 1 <url> --single-branch --branch <branch>
检索最新版本的 <branch>
,像这样:
git clone --depth 1 https://github.com/named-data/ndn-cxx.git --single-branch --branch ndn-cxx-0.3.3
您无需在克隆
之后执行 git checkout
正如@edi9999 所说,--depth
选项默认获取单个分支。如果要获取指定深度尖端附近的所有其他分支,则必须指定 --no-single-branch
选项。
例如
git clone https://github.com/named-data/ndn-cxx.git --depth 1 --no-single-branch
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
我是 运行 上面提到的脚本,但是收到错误:“克隆 进入 'ndn-cxx'... /source/ndn-cxx /来源 致命:无法同时更新路径和切换到分支 'release-build'。 您是否打算签出无法作为提交解析的 'ndn-cxx'?
默认情况下,如果您指定 --depth
选项,git 将只获取 master 分支,因此您将无法检出到任何其他分支。
你可以这样写:
git clone --depth 1 <url> --single-branch --branch <branch>
检索最新版本的 <branch>
,像这样:
git clone --depth 1 https://github.com/named-data/ndn-cxx.git --single-branch --branch ndn-cxx-0.3.3
您无需在克隆
之后执行git checkout
正如@edi9999 所说,--depth
选项默认获取单个分支。如果要获取指定深度尖端附近的所有其他分支,则必须指定 --no-single-branch
选项。
例如
git clone https://github.com/named-data/ndn-cxx.git --depth 1 --no-single-branch