我已按照以下步骤在特定分支上克隆了一个远程存储库:How do I shallow clone a repo on a specific branch?但是,现在我需要在此远程仓库上签出另一个分支。我怎么做?这是GitLab上的一个自托管存储库(如果该信息有用吗?是Git的新功能!)
编辑:我无法克隆整个存储库(可能是因为它太大),并且每次尝试克隆时都会收到GnuTLS recv错误(-9)。我尝试使用此处git clone GnuTLS recv error (-9): A TLS packet with unexpected length was received中建议的解决方案,但是它们似乎不起作用。
答案 0 :(得分:1)
使用--depth意味着--single-branch,将单分支变成多分支 (默认模式)尝试:
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
git checkout *branch_name*
答案 1 :(得分:0)
这可能不是最优雅的解决方案,我也不知道您的需求或背景,但我只是从您第一次得到的同一来源中再次克隆它,只是没有浅薄的选择。
您将能够在所需的分支上工作,并且还可以选择从该新存储库中推送。而且,如果这只是一次需要,您也可以在以后删除此临时克隆。
答案 2 :(得分:0)
就提交次数而言,您必须追溯多久才能拥有两个分支中的最新分支?假设数字是20。那么您可以尝试以下
git clone --depth 20 path-to-repo
Note: This will get all the branches