【问题标题】:Git clone multiple specific branchesGit克隆多个特定分支
【发布时间】:2020-09-27 10:54:21
【问题描述】:

我正在尝试克隆存储库中的多个特定分支。

我知道可以使用--single-branch 克隆一个特定的分支,但是如果我想要 2 个特定的分支而没有其他分支怎么办?

我知道我可以使用git config remote.origin.fetch 所示的here 来更改“受监控”分支的正则表达式,但是我可以在克隆时这样做吗?

【问题讨论】:

    标签: git branch git-branch


    【解决方案1】:

    您不能直接使用git clone 执行此操作,但您不需要这样做。

    请记住,git clone 是做 git initgit remote addgit fetchgit checkout 的缩写(更准确地说,有六个步骤,但这是要点)。 git remote add 命令本身可以添加多个单分支,而git clone 不能。

    因此,两种方法是:

    • 拆分出所需的命令,以便您自己运行git remote add
    • 或者,可能更简单,做一个单分支克隆,然后git remote set-branches origin 其余每个分支(每个命令一个或一次全部)。

    如果您使用git remote set-branches 方法,请记住之后再次运行git fetch

    【讨论】:

    • 对于像我这样看到git remote set-branches <remote> <branch> 并认为“天哪,我可以将它用于我的一次性分支提取”的人:请注意,这将重置您的 refspec,直到您重置它。要返回获取所有分支,您需要使用git remote set-branches <remote> '*'(请参阅stackoverflow.com/a/47726250/2752888
    • @ZNK:对 - 一次性,最好使用明确的 refspec 运行 git fetch <repository> <refspec>。您可以为<repository> 部分使用远程名称或原始 URL;如果您使用 URL,Git 将无法更新任何远程跟踪名称(尽管 git push -u 中的某种错误有时会出现其他声明)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 2021-06-26
    • 2015-07-10
    • 2010-12-27
    • 1970-01-01
    相关资源
    最近更新 更多