如何克隆git分支的子集

时间:2019-06-06 16:11:23

标签: git gitlab

我正在从具有1000多个分支的仓库中进行克隆。我想克隆master分支和一个功能分支(仅此而已)。

我知道我可以通过运行来克隆功能分支

git clone git@url_for_git_repo.com --single-branch --branch feature_branch_name

但是我没有访问master分支的权限。现在如何将master分支添加到本地仓库中?

2 个答案:

答案 0 :(得分:3)

使用git remote添加单个分支。例如,如果您克隆了单个分支branch1,但确实希望为origin/masterorigin/branch1origin/branch2,...,origin/branch4使用五个远程跟踪名称:

git remote set-branches --add origin master branch2 branch3 branch4

可以解决问题。

(如果您愿意以这种方式操作配置文件,也可以手动编辑.git/config文件或运行git config --edit。)

请注意,set-branches --add与普通add有很大不同;后者添加了一个附加的远程,而不是向一个特定的单分支远程添加分支。另外,set-branches --add表示丢弃现有的远程跟踪名称,并为指定分支更改为单分支模式

(不幸的是,Git使用 remote 这个词来表示一件事,并使用 remote-tracking分支或我所说的 remote-tracking名称< / em>表示另一种完全不同的东西。这非常令人困惑。)

答案 1 :(得分:1)

我想您可以具体要求

git fetch origin master