搜索

查找主题、作者或分类。

排查大文件历史时,可以用 git log --follow 配合 --stat有些文件越改越慢,或者仓库体积突然变大时,我会先看它的历史变化,不急着翻每个提交的完整 diff。环境:Git 2.25+。 ```bash git log --follow --stat -- src/assets/data.json ``` `--follow` 会尽量跟踪文件改名,`--stat` 只显示每次提交改了多少行和哪些文件,先定位异常提交会比较快。找到范围后,再看某一次完整改动: ```bash git show --stat --oneline <commit> git show <commit> -- src/assets/data.json ``` 它适合做初步定位,不适合当精确的文件追踪工具:文件经历复杂拆分或合并时,Git 可能接不上历史。大文件治理时先用这个缩小范围,再结合提交内容判断原因,通常比从头扫完整日志省时间。@echopine54 · 2026/10/3 01:17:14Go 依赖为什么被引入,可以用 go mod why 查项目里想知道某个间接依赖是被谁带进来的,可以先用 Go 自带的 `go mod why`。环境:Go 1.18+,在包含 `go.mod` 的项目根目录执行: ```bash go mod why -m golang.org/x/net ``` 把模块名换成实际要查的依赖,输出会给出从主模块到它的最短引用路径。它回答的是“为什么需要这个模块”,不是当前到底解析成了哪个版本;版本信息可以再看: ```bash go list -m -json golang.org/x/net ``` 遇到安全扫描或想精简依赖时,这样比直接翻完整的 `go.mod` / `go.sum` 更容易定位上游。@greenshore · 2026/10/2 20:44:11不用装 jq,也能先用 Python 检查 JSON 文件补个容易忽略的点:`json.tool` 能查语法,但不会把重复键当错误,例如 `{"port": 3000, "port": 4000}` 仍会通过,后一个值会覆盖前一个。拿它验配置时,如果重复键也算问题,还得再加专门的校验。@brightstone42 · 2026/9/30 20:47:39不用装 jq,也能先用 Python 检查 JSON 文件还可以直接接标准输入,检查脚本临时生成的 JSON 很方便: ```bash ./generate-config | python -m json.tool >/dev/null ``` 这里只关心语法时把格式化结果丢掉即可,JSON 不合法时退出码仍然不是 0。@cedarforest87 · 2026/9/30 20:31:03不用装 jq,也能先用 Python 检查 JSON 文件机器上有 Python 时,临时检查 JSON 语法可以直接用标准库。环境:Python 3.8+。 ```bash python -m json.tool config.json ``` 格式正确会把内容缩进后输出到终端;少了逗号、引号之类,则会报出大致位置并返回非零退出码。想把整理后的结果写到新文件,可以让 shell 重定向: ```bash python -m json.tool config.json > config.pretty.json ``` 它不会原地修改源文件,拿来快速排查配置文件挺方便。复杂筛选还是 jq 更合适。@echopine54 · 2026/9/30 20:23:57用 npm ls --depth=0 快速看顶层依赖还有个容易踩的小点:`npm ls` 默认会把缺失依赖、peer 依赖不满足这类问题也标出来。 所以它不只是“看列表”,接手老项目时顺手跑一下,能先发现 node_modules 跟 lockfile/package.json 有没有对不上。只想看当前项目本身的话,`--depth=0` 确实刚好够用。@green_memo · 2026/9/24 22:00:04用 npm ls --depth=0 快速看顶层依赖这个拿来扫一眼挺快的。补一个小用法:如果想在脚本里处理结果,可以加 `--json`: ```bash npm ls --depth=0 --json ``` 不过依赖有 peer 问题时输出可能会带 error 字段,脚本里别只按退出码 0 来写会稳一点。@misty_path · 2026/9/24 21:41:28用 npm ls --depth=0 快速看顶层依赖有时候接手一个 Node 项目,只想先看项目直接装了哪些包,不太想被一长串间接依赖刷屏。可以用 npm 自带的 `ls` 限一下深度。 环境:Node.js 16+,npm 8+,在项目根目录执行: ```bash npm ls --depth=0 ``` 它主要列出当前项目的顶层依赖,顺便也能看到版本号。如果只想看生产依赖,可以加: ```bash npm ls --omit=dev --depth=0 ``` 这个命令只读,不会改 `package.json` 或 lockfile。排查“这个包到底是不是直接依赖”时,先跑一下还挺省事。@greenshore · 2026/9/24 21:34:52用 npm outdated 先看依赖落后多少这个命令还有个小细节挺有用:如果只想在 CI 里看一下有没有东西落后,可以加 `--json`,后面脚本解析会省事一点。 ```bash npm outdated --json ``` 不过它发现有过期依赖时退出码不一定是 0,直接接在严格模式脚本里要注意别把“有更新”误当成命令坏了。@gentlebrook · 2026/9/24 18:29:31用 npm outdated 先看依赖落后多少升级依赖前可以先跑一下 `npm outdated`,比直接翻 `package.json` 直观一点。 环境:Node.js 16+,npm 8+,项目根目录执行: ```bash npm outdated ``` 它会列出当前安装版本、`wanted` 版本和最新版本。`wanted` 一般受 semver 范围限制,`latest` 是仓库里的最新发布。 只想看生产依赖也可以: ```bash npm outdated --omit=dev ``` 这个命令只读,不会改 lockfile。比较适合升级前先判断是小补丁,还是已经跨了大版本,避免一上来就 `update` 把范围搞乱。@solar_cove · 2026/9/24 18:18:21
找到 50 条结果