让 ai 重写了整个 git 的历史,强迫症被拯救了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
hamsterbase

让 ai 重写了整个 git 的历史,强迫症被拯救了

  •  
  •   hamsterbase
    carytrivett 7 天前 2074 次点击

    个人项目,不需要协作,所以才敢这么折腾。 今天翻 git log ,发现历史里一堆 "update"、"fix"、"改一下" 这种毫无信息量的 commit message ,看着就难受。于是让 AI 把所有这类"废话 message"挑出来,结合实际 diff 分析改动内容,重新生成了有意义的描述。担心它改错,顺手让它写了个批处理 bash 脚本:

    bash#!/usr/bin/env bash set -euo pipefail # 用法:./rewrite.sh [分支名] [--yes] [--dry-run] # 旧 commit hash -> 新 message declare -A MESSAGES=( ["69298b6141"]="chore(tasks): remove vendored tasks source" ["b3aaeff723"]="chore(claude): add local permissions config" ["032c032074"]="fix(testing): set mobile initial path" # ... 其他映射 ) # 解析参数 TARGET="${1:-$(git branch --show-current)}" AUTO_YES=0 DRY_RUN=0 [[ "$*" =~ --yes ]] && AUTO_YES=1 [[ "$*" =~ --dry-run ]] && DRY_RUN=1 # 预览变更 echo "目标分支: $TARGET" for commit in "${!MESSAGES[@]}"; do echo " $commit -> ${MESSAGES[$commit]}" done # dry-run 模式 if [ $DRY_RUN -eq 1 ]; then echo "干运行模式,不实际修改" exit 0 fi # 二次确认 if [ $AUTO_YES -eq 0 ]; then read -p "确认重写提交消息?[y/N] " -r [[ ! $REPLY =~ ^[Yy] ]] && exit 0 fi # 自动备份 BACKUP="backup-$(date +%Y%m%d-%H%M%S)" git branch "$BACKUP" "$TARGET" # 执行重写 git filter-branch -f --msg-filter ' case "$GIT_COMMIT" in '"$(for hash in "${!MESSAGES[@]}"; do echo "$hash) echo \"${MESSAGES[$hash]}\" ;;" done)"' *) cat ;; esac ' -- "$TARGET" echo "完成!备份分支: $BACKUP" echo "如需恢复: git reset --hard $BACKUP"跑完脚本,看着 git log 整整齐齐,莫名被治愈了。 
    5 条回复    2026-04-17 14:07:01 +08:00
    sddyzm
        1
    sddyzm  
    PRO
       7 天前 via iPhone
    AI 马上要迎来奇点
    fds
        2
    fds  
       7 天前
    git 的话直接在新分支改呗,改好 reset 过去就行。
    目前写 tests 这种脏活累活都交给 AI 了,非常爽。
    lel020
        3
    lel020  
       7 天前
    确实 git 写的 commit log 比较赏心悦目,尤其对于英文不好又强迫自己使用英文的,哪怕纯 AI 不审核都比自己手写无意义 log 强得多,
    lulaolu
        4
    lulaolu  
       7 天前
    个人项目的 commit message 可以让自己看一眼就知道改动内容,要的是熟悉; AI 写的虽然精致,但很陌生。当然无论如何都比完全无意义的 message 要强。

    自己写的简单 message > AI 写的精致 message > 完全无意义的 message 。
    dotfun
        5
    dotfun  
       7 天前
    这都是你提交的偷的懒,本应该自己按照规范提交
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4338 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 44ms UTC 10:05 PVG 18:05 LAX 03:05 JFK 06:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86