当前位置: 首页 > 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$'

原理

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

http://www.dtcms.com/a/37939.html

相关文章:

  • 快节奏生活
  • 关于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几种请求类型的格式
  • 作业day5
  • 【Git】六、企业级开发模型
  • Hbase使用shell命令语句大全
  • 基于数据可视化+SpringBoot+安卓端的数字化OA公司管理平台设计和实现
  • 网络安全防御:蓝队重保备战与应急溯源深度解析
  • Django笔记1_简介
  • python与C系列语言的差异总结(4)
  • Java进阶学习笔记64——IO流
  • Linux下启动redis
  • C/C++基础知识复习(47)