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

repo仓库文件清理

1. repo 仓库内文件清理

# 清理所有Git仓库中的项目

repo forall -c 'git clean -dfx'

# 重置所有Git 仓库中的项目

repo forall -c 'git reset --hard'

解释:

repo forall -c 'git clean -dfx'

  • repo forall 是一个用于在所有项目中执行命令的工具。
  • -c 后面跟的是要执行的命令。
  • git clean -dfx 的意思是:
    • -d:移除未跟踪的目录。
    • -f:强制执行清理(需要这个选项才能删除文件)。
    • -x:删除所有未跟踪的文件,包括被 .gitignore 忽略的文件。
  • 综上,这个命令会删除所有未跟踪的文件和目录,确保项目干净。

repo forall -c 'git reset --hard'

  • git reset --hard 会重置当前分支到最新的提交状态,并且会丢弃所有未提交的更改。
  • 这意味着所有本地的更改(包括已暂存和未暂存的)都将被删除,工作目录会恢复到与最后一次提交相同的状态。

总结:

这两个命令的整体作用是将所有项目恢复到最新的提交状态,并清理所有未跟踪的文件和目录。

2. repo 仓库外文件清理

repo status -o | sed -n '/Objects not within a project/,/^\$/p' sed '1d' sed -r 's#[[:space:]]+--[[:space:]]+##' xargs rm -rf

解释:

  1. repo status -o

    • 这个命令列出当前工作目录下的未跟踪对象,显示未跟踪的文件和目录。
  2. sed -n '/Objects not within a project/,/^\$/p'

    • -n 选项告诉 sed 只打印符合条件的行。
    • '/Objects not within a project/,/^\$/' 指定了一个范围,从包含 "Objects not within a project" 的行开始,到第一个空行(即 ^\$)为止。
    • p 命令打印这个范围内的所有行。
  3. sed '1d'

    • 1d 表示删除第一行。由于第一行是 "Objects not within a project (orphans)",这一步将其移除。
  4. sed -r 's#[[:space:]]+--[[:space:]]+##'

    • -r 选项启用扩展正则表达式。
    • s#[[:space:]]+--[[:space:]]+## 表示替换--和前后多个空格为空,只保留文件和目录名。
  5. xargs rm -rf如不删除可不执行此段

    • xargs 将上一步的输出(即要删除的文件和目录名)传递给 rm -rf 命令。
    • rm -rf 是一个危险的命令,会强制删除指定的文件和目录,不会提示确认。

总结:

这个命令链的整体作用是:

  • 从 repo status -o 的输出中提取未跟踪的对象,并删除这些对象,确保只删除对象而不包括标题行。
  • 执行过此命令后最好再执行下repo sync,目前测试下来manifest文件中的软硬链接文件会被删除

相关文章:

  • Uniapp使用onShow语法报before initialization
  • 使用 Ktor 构建现代 Android 应用的后端服务
  • 数字世界的免疫系统:恶意流量检测如何守护网络安全
  • Java—HTML:3D形变
  • systemd 与 SysVinit
  • SmolVLM2: The Smollest Video Model Ever(三)
  • arco-design-vue:给<a-table>组件每一行添加data-id属性,并根据id数组是否包含此行id进行样式处理
  • 使用 Spring Boot 和 Uniapp 搭建 NFC 读取系统
  • 若依框架二次开发——RuoYi-AI 本地部署流程
  • 动态规划基础
  • ISP--Demosaicking
  • 学习51单片机Day02---实验:点亮一个LED灯
  • SpringDoc【使用详解】
  • 解决RecyclerView在调用smoothScrollToPosition后最后一个item底部超出屏幕的问题
  • Word / WPS 页面顶部标题 段前间距 失效 / 不起作用 / 不显示,标题紧贴页眉 问题及解决
  • 数据库主从复制学习笔记
  • Android 中支持旧版 API 的方法(API 30)
  • 深入解析计算机操作系统的底层架构与核心模块功能
  • SQL 查询中使用 IN 导致性能问题的解决方法
  • vue3开发基础流程(前21)
  • vs2008做网站/西安今天出大事
  • wordpress自定义文章链接/四川seo排名
  • 网站品牌建设方案/360营销推广
  • 做支付行业招代理一般上什么网站/网站推广方案策划书2000
  • 网站建设美橙/网站推广策划
  • 公司网站上的员工风采怎么做/做网络优化哪家公司比较好