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

4 月 28 日
 JoeJoeJoe

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

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

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

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

4294 次点击
所在节点    git
21 条回复
rb6221
4 月 28 日
如果你的分支差异有如此之大的话,我一般都是直接在不同的目录拉不同分支,相当于不同的两个项目
wfg
4 月 28 日
git clean -fdx
shangsharon
4 月 28 日
硬盘遭不住
JoeJoeJoe
4 月 28 日
@rb6221 确实更合理, 感谢!

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

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

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

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

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

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

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

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

之前并行搞主要是一个 Flutter 项目, 一个 C#项目, 然后两个原生项目这样, 他们都是不同的仓库, 就最近需要集成一个三方, 改动比较大, 发现了这么个难受的问题, 所以上来问问大家, 结果学到了新的知识, 哈哈哈哈
liushengxian1230
4 月 28 日
学到了 Git 2.5 引入的一个功能 Git 2.50 我才用上🤦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1209017

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX