You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对Void上游Git仓库稀疏拉取,对个人仓库完整推拉?

解决方案:分分支管理官方同步与个人自定义内容

核心思路

用两个分支分别处理不同需求:

  • 一个分支(比如upstream)专门同步官方仓库,启用稀疏检出仅拉取构建脚本目录
  • 另一个孤儿分支(比如personal)关闭稀疏检出,完整包含你的自定义srcpkgs,负责推送到个人远程

步骤1:配置官方同步分支

  1. 创建并切换到用于同步官方的分支:
    git checkout -b upstream origin/main
    
  2. 启用稀疏检出并设置仅同步指定目录:
    git sparse-checkout init --cone
    git sparse-checkout set xbps-src common etc
    
  3. 拉取官方最新内容:
    git pull origin main
    

步骤2:配置个人自定义分支

  1. 切换到已创建的孤儿分支:
    git checkout personal
    
    若还未创建,重新初始化孤儿分支并推送:
    git checkout --orphan personal
    git rm -rf .
    git add xbps-src common etc srcpkgs
    git commit -m "Initial personal repo setup"
    git push tilde personal
    
  2. 在个人分支关闭稀疏检出,确保所有文件可被追踪:
    git sparse-checkout disable
    
  3. 新增自定义包模板后,直接提交推送:
    git add srcpkgs/your-custom-package
    git commit -m "Add custom package: your-custom-package"
    git push tilde personal
    

步骤3:同步官方更新到个人分支

当官方构建脚本有更新时,同步到个人分支:

  1. 切换到upstream分支拉取最新内容:
    git checkout upstream
    git pull origin main
    
  2. 切换回personal分支,合并官方分支的构建脚本目录:
    git checkout personal
    # 仅合并指定目录,用官方内容覆盖本地对应文件
    git merge upstream --strategy-option theirs -- xbps-src common etc
    
  3. 提交合并结果并推送到个人远程:
    git commit -m "Sync official build scripts"
    git push tilde personal
    

内容的提问来源于stack exchange,提问作者sigsegv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 05:07:09