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

git递归忽略某个文件夹

  1. .gitignore文件中使用通配符忽略整个build文件夹及其内容

    • 简单的通配符方式
      • 你可以在.gitignore文件中添加一行build/来忽略build文件夹下的所有文件和子文件夹。这种方式会告诉Git,不要跟踪build目录下的任何内容。
    • 递归忽略的更详细说明
      • 当你在.gitignore文件中写build/时,Git会按照以下规则来处理:
        • 对于build目录本身,如果它还没有被添加到暂存区(未执行git add build),那么它不会被添加。如果已经添加,需要先使用git reset HEAD build(假设build是一个文件夹,如果是文件则写具体文件名)取消暂存。
        • 对于build目录下的所有文件和子目录,无论是现在已经存在的,还是将来新添加到build目录下的,都会被忽略。例如,build/d01_main_control/bk7258/.ninja_depsbuild/d01_main_control/bk7258/.ninja_log等所有在build文件夹下的文件路径都会被忽略。
        • 即使你在build文件夹下创建新的子文件夹和文件,它们也不会被Git跟踪,因为build/这个规则是递归应用的。
  2. 一些特殊情况和注意事项

    • 已经被跟踪的文件
      • 如果build文件夹中的某些文件已经被提交到Git仓库中,仅仅在.gitignore文件中添加build/是不够的。这些文件仍然会被Git跟踪,因为Git已经记录了它们的历史。要真正停止跟踪这些文件,你需要从仓库历史记录中移除它们,这是一个比较复杂的操作,可能会影响仓库历史。
      • 一种方法是使用git filter - branch命令,但这个命令要谨慎使用,因为它会重写提交历史。例如,如果你想从所有分支的历史中移除build文件夹下的所有文件,可以使用类似以下的命令(这个命令可能会根据你的实际情况需要调整):
        git filter - branch --tree - filter 'rm -rf build' HEAD
        
      • 这个命令会遍历每个提交,删除build文件夹,然后重新创建提交。但请注意,这个操作会改变仓库的提交历史,如果你已经将仓库推送到远程,并且其他人也在使用这个仓库,这可能会导致一些问题。
    • 排除部分文件或子文件夹(在忽略build文件夹的基础上)
      • 如果你想在忽略build文件夹的大部分内容的基础上,仍然跟踪build文件夹下的某些特定文件或子文件夹,可以在.gitignore文件中使用!(否定)规则。例如,如果你想忽略build文件夹下的所有内容,但仍然跟踪build/important_file.txt这个文件,可以在.gitignore文件中这样写:
        build/
        
      !build/important_file.txt
      - 这样,除了`important_file.txt`之外,`build`文件夹下的其他内容都会被忽略。
      

http://www.kler.cn/a/469752.html

相关文章:

  • 遥感图像塔吊检测数据集VOC+YOLO格式1567张1类别
  • 可变性卷积的认识
  • MySQL日志基础知识
  • 一种融合联邦学习和大模型特点的全新系统架构
  • [Linux]信号底层概念与操作
  • ZYNQ初识10(zynq_7010)UART通信实验
  • 计算机网络——数据链路层—局域网和广域网
  • 华为OD机试E卷 --羊、狼、农夫过河--24年OD统一考试(Java JS Python C C++)
  • 探秘前沿科技:RFID 与 NFC,开启智能识别新篇
  • ARP(地址解析协议)攻击;TCP SYN Flood(SYN洪流)攻击
  • git 常用命令和本地合并解决冲突
  • 关于单片机的基础知识(一)
  • Linux系统操作笔记
  • LeetCode-合并两个有序链表(021)
  • 《从零到一:深入浅出解析支持向量机的对偶问题》
  • Java Web开发进阶——Spring Boot基础
  • 配置管理工具和k8s功能重叠部分的优势比较
  • GitHub - riscv-software-src/riscv-isa-sim: Spike, a RISC-V ISA Simulator
  • QT----------文件系统操作和文件读写
  • Java解析PDF数据库设计文档