我在 git 中有 moodle 项目,并希望从原始 git 存储库不断更新。但是它有很多活跃的分支,我只需要其中的两个。我可以在 gitconfig 文件中设置只获取我需要的两个分支而忽略其他分支吗?我有 gitcofig 文件的这一部分,只是不知道如何正确设置它。
[remote "Moodle"]
url = git://git.moodle.org/moodle.git
fetch = +refs/heads/*:refs/remotes/Moodle/*
最佳答案
您可以限制更新的“远程分支”集。只需更改以下行:
fetch = +refs/heads/*:refs/remotes/Moodle/*
改为阅读:
fetch = +refs/heads/branch1:refs/remotes/Moodle/branch1
fetch = +refs/heads/branch2:refs/remotes/Moodle/branch2
(我在这里假设两个分支名称是 branch1
和 branch2
;根据需要替换正确的名称)。
然而,作为Christopher suggested ,这里的任何节省通常都很少。 git “在幕后”所做的是将所有必要的“git 对象”集中传输(称为“瘦包”,然后在您的端将其修改为“普通”包)。
修剪您端更新的分支集可以减少传输的对象数量,但包通常被压缩得很好。如果您忽略的事件分支包含大量压缩不佳的大文件,您可能会获得更多。 (但是,如果这些分支 merge 回您确实采用的分支,那么所有底层对象无论如何都会在那时遇到:您现在保存但稍后付款。)
关于git - 如何设置只从远程获取一些分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24084304/