如何设置只从远程获取一些分支

hdo*_*mos 5 git branch git-config

我在 git 中有 Moodle 项目,并且希望不断从原始 git 存储库进行更新。然而它有很多活跃的分支,我只需要其中两个。我可以在 gitconfig 文件中设置为仅获取我需要的两个分支而忽略其他分支吗?我有 gitcofig 文件的这一部分,只是不知道如何正确设置。

[remote "Moodle"]
url = git://git.moodle.org/moodle.git
fetch = +refs/heads/*:refs/remotes/Moodle/*
Run Code Online (Sandbox Code Playgroud)

tor*_*rek 10

可以限制更新的“远程分支”集。只需更改以下行:

fetch = +refs/heads/*:refs/remotes/Moodle/*
Run Code Online (Sandbox Code Playgroud)

改为阅读:

fetch = +refs/heads/branch1:refs/remotes/Moodle/branch1
fetch = +refs/heads/branch2:refs/remotes/Moodle/branch2
Run Code Online (Sandbox Code Playgroud)

(我在这里假设两个分支名称是branch1branch2;根据需要替换正确的名称)。

然而,正如克里斯托弗所建议的那样,这里节省的费用往往是微乎其微的。git“在幕后”所做的是将所有必要的“git 对象”一次性传输(称为“瘦包”,然后在您的端将其修改为“普通”包)。

修剪在您端更新的分支集可以减少传输的对象数量,但包通常是相当压缩的。如果您省略的活动分支包含大量压缩效果不佳的大文件,您可能会获得更多。(但是,如果这些分支合并回您确实采用的分支,那么无论如何,所有底层对象都会在此时遇到:您现在可以保存,但稍后付款。)