当前位置: 首页 > news >正文

git 查询包含某个文件夹的步骤

步骤 1:拉取最新的远程分支信息

确保本地缓存的远程分支信息是最新的:

bash

复制

git fetch --all

步骤 2:遍历所有远程分支并检查目标文件夹

使用 git ls-tree 检查每个分支是否包含目标文件夹。以下脚本会列出所有包含 your_folder_path 的远程分支:

bash

复制

# 替换为你的目标文件夹路径(例如 src/utils)
FOLDER_PATH="your_folder_path"

git for-each-ref --format='%(refname:short)' refs/remotes | while read branch; do
  if git ls-tree -r --name-only "$branch" -- "$FOLDER_PATH" 2>/dev/null | grep -q .; then
    echo "$branch"
  fi
done

参数说明

  • git for-each-ref: 遍历所有引用(这里筛选远程分支)。

  • git ls-tree -r --name-only "$branch" -- "$FOLDER_PATH": 检查分支是否包含目标文件夹。

    • 2>/dev/null: 忽略文件夹不存在的错误。

    • grep -q .: 静默检查是否有输出(即文件夹存在)。


示例输出

假设目标文件夹为 src/utils,输出结果类似:

复制

origin/feature/add-utils
origin/bugfix/utils-error

扩展用法

1. 仅检查特定远程(如 origin

bash

复制

git for-each-ref --format='%(refname:short)' refs/remotes/origin
2. 排除 HEAD 分支

bash

复制

git for-each-ref --format='%(refname:short)' refs/remotes | grep -v 'HEAD$'

原理

通过遍历所有远程分支的最新提交,检查每个分支的代码树中是否存在目标文件夹。如果存在,则输出分支名称。

相关文章:

  • 快节奏生活
  • 关于vue中el-date-picker type=daterange日期不回显的问题
  • 电子商务网站租用香港服务器的好处有哪些?
  • Vue04
  • (网络安全)如何建立安全运营中心
  • 本地大模型编程实战(23)用智能体(Agent)实现基于SQL数据构建问答系统(2)
  • 【Java项目】基于Spring Boot的火车订票管理系统
  • sage-huga改进SITAN
  • 简单介绍 SSL 证书类型: DV、OV、EV 的区别
  • 【Mastering Vim 2_07】第六章:正则表达式和 Vim 宏在代码重构中的实战应用
  • SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)
  • ResNet 改进:添加LSKBlock动态调整其大空间感受场
  • 基于EIDE插件,配置arm开发环境
  • 【C++】Arrays
  • 交叉编译curl(OpenSSL)移植ARM详细步骤
  • 微信小程序开发中CSS书写常见问题及最佳实践
  • RBAC授权
  • 银行系统功能架构设计元模型
  • Node.js 内置模块简介(带示例)
  • axios几种请求类型的格式
  • 对话作家吉井忍:“滚石”般的生活,让我看到多种人生可能
  • 南宁海关辟谣网传“查获600公斤稀土材料”:实为焊锡膏
  • 倒计时1天:走进“中国荔乡”茂名,探寻农交文旅商融合发展新模式
  • 经济日报金观平:促进信贷资金畅达小微企业
  • 小米汽车回应部分SU7前保险杠形变
  • 下辖各区密集“联手”,南京在下一盘什么样的棋?