惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
Google DeepMind News
Google DeepMind News
aimingoo的专栏
aimingoo的专栏
Recent Announcements
Recent Announcements
A
About on SuperTechFans
U
Unit 42
MyScale Blog
MyScale Blog
J
Java Code Geeks
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
D
Docker
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 司徒正美
量子位
月光博客
月光博客
G
Google Developers Blog
V
V2EX
博客园 - 聂微东
宝玉的分享
宝玉的分享
IT之家
IT之家
Vercel News
Vercel News

V2EX - 技术

牛逼了,我的阿里云百炼 Coding Plan Pro 莫名被永久封禁,联系客服,无法解封。寻求替代。 Local-first 软件收录站 从 X 上搬运来的白嫖 GPT Plus 教程 阿里云百炼 Coding Plan Pro 套餐 新增当日 token 限制 大家的 Claude 弹了 kyc 嘛 现在 Google 的 Gemini 和 AI 模式降智的厉害啊 用的 TAG 家的 T, ip 跳变是否影响使用 claude 同一 apple 账户能给不同 claude 账号充值么 做了个 Go 的 MCP Server 框架,一行代码把 Gin API 接入 AI 请教各位,想回归技术,如何系统学习 Agent? OpenAI GPT-IMAGE-2 提示词合集 你是说, claude opus4.6 写代码的能力不如 gpt5.4? 关于智谱 Max 套餐要不要升级续费呢? App → CLI → App ? Github 账号被 404 了,现在没法恢复,求各位大佬指点 cursor 的次数套餐以后应该都用不了新模型了 openrouter 使用国外模型 买了咸鱼低价 Gemini pro,账号差点被盗。突然发现国内诈骗成本为零 Gemini 手机版客户端登陆总是在此国家/地区无法使用 gemini 感觉 gpt 这些低价渠道要爆了 claude code 和 codex 在 vibe coding 还有质的区别吗? 阿里 Coding Plan 一天三变, Lite 版本到期不能续费了 RAG 难以让人满意啊 2026 年了,这个世界还存在互联网精神🥹 两个账号阵亡,尼区 Claude Pro 订阅 分享下最近低价 GPT Codex 的来源(源头) OpenAI 发布 Codex 重大更新:支持自动操作电脑与长期任务自动化 使用 claude 从 0 开始开发一个校友会系统可行吗 同一个 appleid 可以给不同 chatGPT 账号订阅 plus 吗? 自动驾驶项目开发建议
让 ai 重写了整个 git 的历史,强迫症被拯救了
hamsterbase · 2026-04-17 · via V2EX - 技术

个人项目,不需要协作,所以才敢这么折腾。 今天翻 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 整整齐齐,莫名被治愈了。