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

标签 git branch git-config

我在 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

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

然而,作为Christopher suggested ,这里的任何节省通常都很少。 git “在幕后”所做的是将所有必要的“git 对象”集中传输(称为“瘦包”,然后在您的端将其修改为“普通”包)。

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

关于git - 如何设置只从远程获取一些分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24084304/

相关文章:

git - 始终使用寻呼机进行 git diff

与其他用户一起更新 git 子模块

GitHub:当 repo 改变所有权时, fork 会发生什么?

Git 分支描述

version-control - 能否/应该避免频繁 merge (例如通过 rebase )?

tfs - 如何修复 TFS 不正确的分支

git - 在裸仓库上执行 git 命令

git - 是否可以将更改从 master 创建的分支作为本地更改返回到 master?

svn - SVN:将挂起的更改移到新分支

git config --global user.email "some@email.com"抛出 "error: only one config file at a time."