V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
JoeJoeJoe
71.46D
V2EX  ›  程序员

发现一个邪修快速清理 Git 项目里面空文件夹的方法🤡 不知道有没有什么其他标准做法.

  •  
  •   JoeJoeJoe ·
    PRO
    · 12h 37m ago · 1792 views

    因为项目里面来回切分支, 有些分支是有特殊资源或者 sdk 的, 切完分支之后, 会遗留一些空文件夹在本地.

    之前觉得没啥, 但是现在用 AI 开发, AI 每次读到空文件夹的时候, 都会啰嗦几遍发现 xxx 文件夹, 但是是空的, 看样子 xxx, 让我来 XXX, 然后就走偏了.

    因为空文件夹默认是不被记录到 git 里面的, 所以我现在的做法是, 把项目里的内容全删掉, 然后再 discard, 一个干干净净的目录就出来了😂

    不知道佬们有没有什么更专业的处理方法? 欢迎讨论, 求轻喷.

    21 replies    2026-04-28 21:00:30 +08:00
    rb6221
        1
    rb6221  
       12h 32m ago   ❤️ 4
    如果你的分支差异有如此之大的话,我一般都是直接在不同的目录拉不同分支,相当于不同的两个项目
    wfg
        2
    wfg  
       12h 32m ago via iPhone   ❤️ 4
    git clean -fdx
    shangsharon
        3
    shangsharon  
       12h 31m ago
    硬盘遭不住
    JoeJoeJoe
        4
    JoeJoeJoe  
    OP
    PRO
       12h 29m ago
    @rb6221 确实更合理, 感谢!

    @wfg 确实是专业的做法! 感恩!

    @shangsharon 还好吧.
    zzlove
        5
    zzlove  
       12h 28m ago   ❤️ 1
    试试 worktree, 各分支在独立的目录里面跑,来回切还不用重新装依赖
    JoeJoeJoe
        6
    JoeJoeJoe  
    OP
    PRO
       12h 25m ago
    @zzlove 感谢, 我试试
    lel020
        7
    lel020  
       10h 57m ago
    全删掉也太离谱了, 我倒是经常会执行`git clean -dfx`, 删除所有忽略内容,
    不过你这情况确实 worktree 更合适,
    JoeJoeJoe
        8
    JoeJoeJoe  
    OP
    PRO
       10h 53m ago
    @lel020 哈哈哈哈 邪修
    XuDongJianSama
        9
    XuDongJianSama  
       9h 54m ago   ❤️ 1
    下次直接在发现问题的时候跟 ai 说就行,搞好或了解之后。/rewind 一下,还不占上下文
    JoeJoeJoe
        10
    JoeJoeJoe  
    OP
    PRO
       9h 53m ago
    @XuDongJianSama 又学到了一个新知识, 太感谢了!

    ps: 今天这个 git worktree 我之前都没听说过 今天真是美好的一天
    onedge
        11
    onedge  
       9h 39m ago
    @wfg 还真第一次用这个命令 LOL
    itskingname
        12
    itskingname  
       9h 3m ago
    还可以再做一个清除 Java 项目里面嵌套文件夹的工具。

    com/xxx/yyy/aaa/bbb/ccc/service/abc/def/xyz/kkk.java

    每个文件夹只有一个子文件夹,没有其他东西。

    这种东西纯粹脑子有坑。
    gongxuanzhang
        13
    gongxuanzhang  
       8h 48m ago   ❤️ 1
    worktree 在多分支并行修改的时候可能互相冲突。 尤其是多个 session 同时在多个分支上改代码的时候。 我一般是直接要求强制物理隔离。 仅供参考
    Tidle
        14
    Tidle  
       8h 34m ago   ❤️ 1
    使用 git post-checkout hook 切换分支后执行脚本自动删除空目录
    JoeJoeJoe
        15
    JoeJoeJoe  
    OP
    PRO
       7h 56m ago
    @itskingname 这个是真的难绷😂 现代语言很要有这么设计的了😂

    @gongxuanzhang 刚开始用上, 感谢提醒!

    @Tidle 感谢🙏🏻
    94
        16
    94  
       7h 47m ago
    为什么不用 worktree……
    JoeJoeJoe
        17
    JoeJoeJoe  
    OP
    PRO
       7h 43m ago
    @94 一切奇怪的操作可能都是源于菜, 哈哈哈哈, 工作十多年了, 今天才知道 worktree.
    94
        18
    94  
       7h 36m ago
    @JoeJoeJoe #17 ,Joe 佬你之前同一个项目是怎么并行开发的……
    JoeJoeJoe
        19
    JoeJoeJoe  
    OP
    PRO
       7h 29m ago
    @94 #18 我要干的比较杂, 同一个项目基本就是从头做到尾, 中间中断我就 Storage 一下, 就这么混了十来年😂

    之前并行搞主要是一个 Flutter 项目, 一个 C#项目, 然后两个原生项目这样, 他们都是不同的仓库, 就最近需要集成一个三方, 改动比较大, 发现了这么个难受的问题, 所以上来问问大家, 结果学到了新的知识, 哈哈哈哈
    liushengxian1230
        20
    liushengxian1230  
       2h 24m ago
    学到了 Git 2.5 引入的一个功能 Git 2.50 我才用上🤦
    287854442
        21
    287854442  
       1h 26m ago
    这种 case 感觉更适合 worktree
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3203 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 14:27 · PVG 22:27 · LAX 07:27 · JFK 10:27
    ♥ Do have faith in what you're doing.