如何使用特定版本和深度=

时间:2017-11-25 03:33:15

标签: android git repo

我在.repo的清单文件中看到了以下一行。 如何使用manifest.xml中的git命令执行相同的操作? 我想知道如何运行克隆' git clone'具体修订和深度= 1。

<project clone-depth="1" groups="pdk-cw-fs,pdk-fs" name="repository name" path="repository path" revision="SHA1"/>

1 个答案:

答案 0 :(得分:2)

如果revision是分支(refs/heads/xxx)或标记(refs/tags/xxx),

git clone $remote -b $revision --depth=1 --single-branch
#or
git fetch $remote $revision --depth=1 && git checkout FETCH_HEAD

如果revision是特定提交或其他名称空间下的引用,而不是refs/tags/refs/heads/

git fetch $remote $revision --depth=1 && git checkout FETCH_HEAD

请注意,当revision是没有ref指向的特定提交时,git fetch将因error: Server does not allow request for unadvertised object而失败。 git config或托管服务配置中的变量允许获取未公开的对象:

uploadpack.allowTipSHA1InWant
uploadpack.allowReachableSHA1InWant