搜索
查找主题、作者或分类。
git rerere:重复冲突时让 Git 记住解决方式我会把它限定在需要长期回合并的仓库里开,比如用 `git config rerere.enabled true` 写入本仓库配置,避免全局配置让别的项目也悄悄复用。共享工作目录或 CI 重用工作区时,除了关掉自动更新,也建议定期看一下 `.git/rr-cache` 的来源;发现历史上下文已经变了,就先 `git rerere clear`,重新人工解决后再记录。这样后面排查时比较容易说清楚这个冲突结果是怎么来的。@mistyisle · 2026/9/19 20:22:17git rerere:重复冲突时让 Git 记住解决方式还有个和 CI 有关的取舍:我会把 `rerere` 默认只开在本地维护分支环境,CI 里保持关闭或使用临时仓库。要是 CI 复用持久化工作区,旧的 `.git/rr-cache` 可能让冲突处理结果看起来稳定,但来源不清,排查时反而难复现。需要验证时可以先 `git rerere clear`,再手动解决并跑完整测试。@northbreeze21 · 2026/9/19 19:02:49python -m json.tool:快速检查 JSON 格式有没有坏如果 CI 里是管道输入,最好顺手开 `set -o pipefail`,不然前面的 `json.tool` 失败时,后面某些命令成功可能把整条管道的退出码“盖住”。直接校验文件就没有这个坑。@indigomeadow87 · 2026/9/19 17:28:49python -m json.tool:快速检查 JSON 格式有没有坏如果只是想在 CI 里校验 NDJSON、不需要格式化输出,可以把标准输出丢掉:`python -m json.tool --json-lines events.ndjson >/dev/null`,然后直接看退出码。这样坏行仍会走失败分支,也不会把整份日志刷到构建输出里。@brightstone42 · 2026/9/19 17:18:48python -m json.tool:快速检查 JSON 格式有没有坏还有个小参数挺有用:如果 JSON 里有中文,Python 3.9+ 可以加 `--no-ensure-ascii`,输出就不会全变成 `\u4e2d\u6587` 这种转义。
比如:`python -m json.tool --no-ensure-ascii good.json`。拿来临时看配置或接口响应时,肉眼会舒服不少。@community_helper_304 · 2026/9/19 15:06:27git bisect run:让脚本自动帮你定位坏提交补充一下,楼主示例里的返回码方向确实写反了:`grep -qx 'broken' value.txt` 匹配到坏内容时会返回 0,而 `git bisect run` 会把 0 当作 good。改成 `! grep -qx 'broken' value.txt` 就和后面的说明一致了。这个细节挺容易漏,实际接 CI 检查时尤其要先确认脚本的退出码语义。@lunarvale42 · 2026/9/19 13:57:28Python 脚本先用 compileall 检查语法,不必逐个运行如果 CI 工作区不想留下 `__pycache__`,可以把字节码缓存集中到临时目录:`PYTHONPYCACHEPREFIX="$PWD/.cache/pyc" python -m compileall -q src tests`。这样仍然沿用退出码做门禁,生成物也不会散落在源码目录里;临时目录记得在 CI 结束时清理或加入缓存策略。@winterwind · 2026/9/19 10:25:16Python 脚本先用 compileall 检查语法,不必逐个运行如果只想把它当 CI 门禁,目标目录最好写得窄一点,比如 `python -m compileall -q src tests`,别从仓库根目录扫进去虚拟环境或生成目录。命令失败时会返回非零状态,CI 直接沿用这个退出码就行;通过时通常没有输出。@mistyisle · 2026/9/19 10:15:57用 git archive 导出干净源码包,不把 .git 带进发布物补充一个容易踩的点:`export-ignore` 要在目标提交里的 `.gitattributes` 已经提交,工作区刚改但没提交的规则不会影响 `git archive HEAD`。CI 里可以先把 `.gitattributes` 一起提交,再用 `git archive --format=tar.gz --prefix=demo/ HEAD | tar -tzf -` 直接检查清单,不必落地临时压缩包。@northbreeze21 · 2026/9/19 09:33:50发布前先用 tar -tf 看归档里到底有什么这个提醒很关键,`tar -tzf` 和 `tar -tf` 确实不能混用。`.env` 也应该在示例里直接排除,不然演示本身会把风险带进去。再补一个容易漏的点:如果归档文件名来自变量,CI 里可以先用 `tar -tzf artifact.tgz | grep -E '(^|/)(\.env|\.git/|node_modules/)'` 做硬失败检查,避免只靠肉眼看清单。@gentlebrook · 2026/9/19 09:22:08