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

如何使用git拉取特定文件夹,实现不同分支差异化内容拉取?

Git分支差异化拉取操作指南

以下操作默认你已完成本地仓库和远程仓库的绑定,操作前请先提交或暂存本地当前分支的未修改内容,避免内容丢失。

需求1:从remote/ABC分支拉取除P文件夹外的全部内容

  • 第一步:拉取远程ABC分支的最新内容到本地缓存,不自动合并
    git fetch origin ABC
    
  • 第二步:开启Git稀疏检出功能,配置排除P文件夹的规则
    Git 2.25及以上版本可使用简化命令:
    git config core.sparseCheckout true
    git sparse-checkout set /* !P/
    
    低版本Git手动写入规则:
    git config core.sparseCheckout true
    echo "/*" >> .git/info/sparse-checkout
    echo "!P/" >> .git/info/sparse-checkout
    
    上述规则中/*代表匹配根目录下所有内容,!P/代表排除P文件夹及其下所有子内容
  • 第三步:将远程ABC分支的内容合并到本地当前分支
    git merge origin/ABC --allow-unrelated-histories
    
  • 后续不需要保留稀疏检出规则时,可执行git config core.sparseCheckout false恢复正常检出模式。

需求2:从remote/XYZ分支仅拉取P文件夹的全部内容

  • 第一步:拉取远程XYZ分支的最新内容到本地缓存
    git fetch origin XYZ
    
  • 第二步:直接检出XYZ分支的P文件夹内容到本地当前分支
    git checkout origin/XYZ -- P/
    
    该命令会将XYZ分支上P文件夹的所有文件、子目录完整同步到本地当前分支的对应路径下。
  • 如果你需要保留本地P文件夹的现有内容,可在执行检出前先暂存本地内容:git stash push P/,后续需要恢复时执行git stash pop合并差异即可。

注意:合并过程中如果出现路径冲突,按需编辑冲突文件解决后,执行git add <冲突文件路径>和git commit提交合并结果即可。

内容的提问来源于stack exchange,提问作者Dr.PB

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:06:03