亲手编译 Git 2.39.0 源码:掌控 HTTPS、SSH 与多版本共存
简介本资源是 Git 分布式版本控制系统 2.39.0 版本的官方源码压缩包tar.gz 格式面向 Linux/Unix 系统开发者、开源贡献者及底层工具链学习者用于编译安装、源码研读或定制化开发。包内共含约 2000 个文件主体为 1192 个 shell 脚本负责构建与测试自动化、845 个文本文档含文档、说明、配置模板、565 个 C 源文件与 283 个头文件构成 Git 核心逻辑另有大量测试用例tcl/expect/perl、国际化支持po、构建脚本makefile及 Git 自身的测试套件t/ 目录下 70 test 文件。压缩包仅 10.07MB轻量但完整涵盖从命令解析、对象存储、分支合并merge-ort.c、merge-recursive.c、补丁应用apply.c到差异计算diff.c等全部核心模块源码。目前已有 188 人下载学习适合希望深入理解 Git 工作原理、参与社区开发或在无包管理环境部署最新版 Git 的中高级开发者。1. 从git-2.39.0.tar.gz开始为什么你该亲手编译 Git而不是只点安装包你刚下载了git-2.39.0.tar.gz——这不是一个普通压缩包它是 Git 官方源码的「原始出厂状态」。它意味着没有预编译二进制、不依赖系统包管理器、不走 Windows Installer 或 Homebrew 的黑盒流程而是把 Git 的全部逻辑摊开在你面前由你决定怎么装、装在哪、用什么特性、关掉哪些默认行为。很多工程师直到某天遇到git clone卡在index-pack、git push报fatal: unable to access https://...却查不出 SSL 版本冲突、或者git diff在中文路径下乱码才意识到Git 不是“装完就完”的工具它是你每天敲几十次命令却几乎从不 inspect 的底层基础设施。而git-2.39.0.tar.gz就是你夺回控制权的第一块砖——它发布于 2022 年 12 月是当时最稳定的长期支持版本LTS修复了 TLS 1.3 握手兼容性、大幅优化了稀疏检出sparse-checkout性能并首次将git maintenance后台任务纳入默认启用范围。如果你正在维护 CI/CD 流水线、需要定制 HTTP 代理策略、或在嵌入式/国产化环境部署 Git那么这个.tar.gz不是备选方案而是唯一可靠起点。2. 解压、配置、编译三步落地git-2.39.0的最小可行路径2.1 解压与目录结构确认别跳过这一步它决定了后续所有路径是否干净tar -xzf git-2.39.0.tar.gz cd git-2.39.0 ls -F你会看到Makefile、configure、git.c、builtin/、t/测试目录、Documentation/等核心目录。注意这里没有./install脚本也没有setup.py——Git 的构建体系完全基于 GNU Autotools Make这意味着它的可移植性极强但也要求你明确指定目标路径和依赖链。常见误区是直接make sudo make install这会把二进制文件硬塞进/usr/local/bin覆盖系统自带 Git尤其在 CentOS/RHEL 上极易引发yum update冲突。我一般会先创建隔离安装前缀mkdir -p /opt/git-2.39.0提示/opt是 Linux FHS 标准中专用于“可选应用软件包”的目录比/usr/local更适合多版本共存Windows 用户请跳至 2.4 节此处路径逻辑不适用。2.2 配置阶段./configure的 5 个关键参数决定你能否用上 HTTPS 和 SSHGit 源码本身不带网络协议栈它必须链接外部库才能支持https://和githost:path。configure脚本就是用来探测这些依赖并生成对应 Makefile 的。执行前请确保系统已安装OpenSSL1.1.1或 LibreSSL用于 HTTPSlibcurl7.35.0必须含--with-curl支持zlib1.2.6压缩必需expatXML 解析用于git svn非必需但建议装sshOpenSSH client用于gitssh然后运行./configure \ --prefix/opt/git-2.39.0 \ --with-curl/usr \ --with-expat/usr \ --with-zlib/usr \ --with-openssl/usr \ --without-tcltk参数说明--prefix指定安装根目录所有二进制、man 手册、perl 脚本都将按此路径布局--with-*显式指定各依赖库的安装根路径不是头文件路径避免configure错误地找到旧版 OpenSSL如/usr/lib64/libssl.so.1.0.2--without-tcltk禁用 GUI 前端git gui/gitk减少依赖复杂度CI 环境必加。如果configure报错configure: error: curl library not found请检查pkg-config --modversion libcurl是否输出版本号若为command not found则需sudo yum install libcurl-develCentOS或sudo apt install libcurl4-openssl-devUbuntu。2.3 编译与安装make的并行控制与静默模式实操make -j$(nproc) prefix/opt/git-2.39.0 all sudo make prefix/opt/git-2.39.0 install关键细节-j$(nproc)自动使用全部 CPU 核心加速编译git-2.39.0全量编译约需 2~4 分钟i7-8700Kprefix必须重复传给make和make install否则make install会忽略configure时的--prefixall目标显式声明避免某些旧 Makefile 默认只构建git二进制而漏掉git-upload-pack等服务端组件sudo仅用于install阶段make阶段绝对不要加sudo——这会导致生成的.o文件属主为 root后续修改源码重编译会权限报错。验证安装结果/opt/git-2.39.0/bin/git --version # 应输出 git version 2.39.0 /opt/git-2.39.0/bin/git --exec-path # 输出 /opt/git-2.39.0/libexec/git-core注意此时/opt/git-2.39.0/bin还未加入$PATH你不能直接敲git。这是故意为之——避免污染全局环境下一节将教你安全切换。2.4 Windows 下的等效路径MinGW-w64 MSYS2 是唯一推荐方案git-2.39.0.tar.gz官方不提供 Windows 原生编译支持。试图用 Visual Studio 或 Cygwin 编译会遭遇fork()模拟缺陷、路径分隔符硬编码、以及mingw32工具链缺失等问题。正确做法是使用 MSYS22022 年后已全面替代 MinGW下载 MSYS2 官网安装包 安装时勾选「Run MSYS2 now」启动MSYS2 UCRT64终端不是MSYS2 MINGW64执行pacman -Syu pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain mingw-w64-ucrt-x86_64-curl mingw-w64-ucrt-x86_64-openssl mingw-w64-ucrt-x86_64-zlib切换到git-2.39.0源码目录用 UCRT64 工具链配置./configure --prefix/ucrt64/opt/git-2.39.0 --with-curl/ucrt64 --with-openssl/ucrt64 --with-zlib/ucrt64 make -j8 prefix/ucrt64/opt/git-2.39.0 make prefix/ucrt64/opt/git-2.39.0 install最终二进制位于/ucrt64/opt/git-2.39.0/bin/git.exe可通过alias git/ucrt64/opt/git-2.39.0/bin/git.exe在 Bash 中调用。提示不要用git for windows安装包即Git-2.39.0-64-bit.exe替代源码编译——前者是高度定制的 Windows 移植版关闭了git daemon、阉割了git svn、且无法禁用core.autocrlf的强制转换逻辑与 Linux/macOS 行为不一致。3. 环境接管让新 Git 成为你终端里的默认命令且不破坏原有生态3.1 PATH 注入的三种层级与风险等级排序你有三个位置可以插入/opt/git-2.39.0/bin到$PATH按影响范围从小到大排列层级修改文件影响范围风险等级适用场景会话级export PATH/opt/git-2.39.0/bin:$PATH当前终端窗口★☆☆☆☆临时验证、CI 脚本调试用户级~/.bashrc或~/.zshrc末尾追加export PATH/opt/git-2.39.0/bin:$PATH当前用户所有新终端★★☆☆☆日常开发主力环境系统级/etc/profile.d/git-2.39.0.sh新建文件内容同上所有用户新登录会话★★★★☆生产服务器、Docker 构建镜像强烈建议从会话级开始。执行后立即验证which git # 应输出 /opt/git-2.39.0/bin/git git --version # 确认是 2.39.0 git config --system --get core.autocrlf # 查看系统级配置是否生效注意git --version显示版本号 ≠git命令真正调用的是新二进制。务必用which git或type -a git确认路径。曾有同事因~/.bash_aliases中存在alias git/usr/bin/git导致 PATH 设置失效排查耗时 2 小时。3.2 替换系统 Git 的禁忌/usr/bin/git不可 touch某些教程教人sudo ln -sf /opt/git-2.39.0/bin/git /usr/bin/git这是危险操作。原因有三多数 Linux 发行版如 Ubuntu 22.04、CentOS 8的apt/dnf包管理器在升级git包时会强制覆盖/usr/bin/git你的软链接会被删导致git命令消失git的 man 手册页man git由git-man子包提供路径为/usr/share/man/man1/git.1.gz而你编译的 man 页在/opt/git-2.39.0/share/man/man1/MANPATH不同步会导致man git-log找不到git的 Perl 脚本如git-subtree、git-pull依赖git --exec-path返回的路径加载git-sh-setup若/usr/bin/git被替换但--exec-path仍指向/usr/lib/git-core脚本会因找不到函数而崩溃。正确做法是永远保留/usr/bin/git作为 fallback只通过 PATH 优先级让它被绕过。这样即使新 Git 出问题只需unset PATH即可回退。3.3 验证 HTTPS 与 SSH 双协议可用性两个命令定生死编译安装后必须验证网络协议是否真正打通否则后续所有clone/push都会失败# 测试 HTTPS需能访问 github.com /opt/git-2.39.0/bin/git ls-remote https://github.com/git/git.git HEAD # 测试 SSH需已配置 ~/.ssh/id_rsa.pub 到 GitHub/GitLab /opt/git-2.39.0/bin/git ls-remote gitgithub.com:git/git.git HEAD预期输出均为类似d1b8c...a7f2e HEAD的哈希值。若 HTTPS 报错unable to access https://...大概率是 OpenSSL 版本不匹配如系统装了 OpenSSL 3.0但 configure 时链接了 1.1.1若 SSH 报错Permission denied (publickey)请确认ssh -T gitgithub.com能通——Git 本身不处理密钥认证它完全复用 OpenSSH 的ssh-agent和~/.ssh/config。4. 避坑指南git-2.39.0.tar.gz编译安装中 5 个真实翻车现场4.1 现象make报错error: ‘PATH_MAX’ undeclared here原因CentOS 7 / RHEL 7 默认 glibc 2.17 不定义PATH_MAX而 Git 2.39 引入了更严格的路径长度检查。解决在Makefile顶部添加#define _GNU_SOURCE或升级系统不推荐或降级到git-2.38.1临时方案。4.2 现象git clone https://...卡在Resolving deltas: 100% (xxxxxx/xxxxxx)后无响应原因git-2.39.0默认启用core.multiPackIndexMIDX但某些老旧 NFS 存储或低配 VM 的mmap()性能极差导致 pack 加载阻塞。解决编译前设置环境变量NO_MMAP1再执行make或安装后全局禁用git config --global core.multiPackIndex false。4.3 现象git log --graph输出中文乱码git status中文件名显示为\344\270\200\346\234\217原因Git 2.39 默认启用i18n.logOutputEncodingutf-8但终端 locale 未设为 UTF-8如LANGC。解决在~/.bashrc中添加export LANGen_US.UTF-8或zh_CN.UTF-8重启终端或临时设置git -c i18n.logOutputEncodingGBK log --graphWindows 推荐。4.4 现象git submodule update --init报错fatal: remote error: upload-pack not permitted原因子模块 URL 使用了https://但目标仓库禁用了匿名upload-pack常见于私有 GitLab而git-2.39.0的submodule实现对 credential helper 的调用顺序有变更。解决在.gitmodules中将子模块 URL 改为githost:path.gitSSH 协议并确保~/.ssh/config正确配置 Host 别名或全局启用凭证缓存git config --global credential.helper cache --timeout3600。4.5 现象git commit --amend后git push报non-fast-forward即使只改了 message原因git-2.39.0默认启用commit.gpgSigntrue若配置了 GPG 密钥--amend会生成新签名导致 commit hash 变更远程分支拒绝非快进推送。解决检查git config --global commit.gpgSign若为true则改为false或推送时强制git push --force-with-lease origin HEAD:main仅限个人分支。5. 高级控制用git-2.39.0的原生能力解决 3 类高频疑难杂症5.1 修复git directory泄露用git update-server-info生成安全索引当 Web 服务器错误地将.git目录设为可公开访问如 Nginx 未配置location ~ /\.git { deny all; }攻击者可通过http://site.com/.git/config直接读取远程仓库地址。git-2.39.0提供了服务端防护机制# 进入裸仓库目录如 /var/git/myproject.git cd /var/git/myproject.git git update-server-info该命令生成info/refs和objects/info/packs两个文件它们是 Git HTTP 协议必需的索引。更重要的是它会自动移除info/refs中敏感的ref: refs/heads/main行只保留hash refs/heads/main格式防止泄露分支名。配合 Web 服务器限制GET /.git/objects/即可阻断绝大多数.git泄露利用链。注意update-server-info是一次性操作需在每次git push后手动触发或通过git config --bool http.receivepack false禁用接收功能彻底关闭 HTTP 写入入口。5.2 解决git 无法提交大文件git-lfs与git-2.39.0的无缝集成Git 2.39 原生支持git lfs的clean/smudge过滤器协议无需额外 patch。关键在于git config的过滤器注册顺序# 全局注册 LFS 过滤器必须在 git-2.39.0 环境下执行 git lfs install --skip-repo # 针对特定仓库启用进入项目根目录 git lfs track *.psd git add .gitattributes git commit -m track psd files via lfs # 验证过滤器是否生效 git check-attr -a -- *.psd # 应输出 *.psd: filterlfsgit-2.39.0的改进在于当filterlfs触发时它会严格校验git-lfs二进制是否存在且版本 ≥ 3.3.0若缺失则报错fatal: external filter lfs clean failed而非静默跳过——这避免了大文件被误提交到 Git 历史中。5.3 调试ssh认证失败 git用GIT_TRACE_PACKET1定位握手断点当githost连接失败传统方法ssh -vT githost只能看到 SSH 层而 Git 的git-upload-pack协议交互被隐藏。git-2.39.0新增的GIT_TRACE_PACKET环境变量可打印完整 wire 协议GIT_TRACE_PACKET1 git ls-remote gitgithub.com:git/git.git HEAD输出中会包含trace: packet: git # servicegit-upload-pack trace: packet: git 0000 trace: packet: git d1b8c...a7f2e HEAD\0multi_ack thin-pack ...若卡在git # service...后无响应说明服务端拒绝了git-upload-pack请求常见于 GitLab 未开启git用户 shell若出现git ERR unknown ref HEAD则是仓库路径错误或权限不足。这比strace -e traceconnect,sendto,recvfrom更精准且无需 root 权限。6. 长期维护如何让git-2.39.0在你的环境中持续稳定服役6.1 版本共存策略用update-alternatives管理多 Git 版本Linux当你需要同时维护git-2.39.0生产、git-2.40.0测试、git-2.38.1遗留系统兼容时硬编码 PATH 会失控。update-alternatives是 Debian/Ubuntu/CentOS 的标准解决方案# 注册三个版本 sudo update-alternatives --install /usr/local/bin/git git /opt/git-2.38.1/bin/git 38 sudo update-alternatives --install /usr/local/bin/git git /opt/git-2.39.0/bin/git 39 sudo update-alternatives --install /usr/local/bin/git git /opt/git-2.40.0/bin/git 40 # 交互式切换 sudo update-alternatives --config git # 选择编号自动更新 /usr/local/bin/git 软链接--install第四参数是优先级priority数值越大越优先。--config会列出所有选项并让你输入编号比手动改 PATH 安全十倍。6.2 自动化升级脚本git-update-from-source.sh的核心逻辑我写了一个 32 行的 Bash 脚本放在公司内部 GitOps 仓库每天凌晨自动检测新版本并编译#!/bin/bash GIT_VERSION$(curl -s https://raw.githubusercontent.com/git/git/master/VERSION | tr -d \n) TARBALLgit-${GIT_VERSION}.tar.gz if [ ! -f /opt/git-${GIT_VERSION}/bin/git ]; then wget https://github.com/git/git/archive/refs/tags/v${GIT_VERSION}.tar.gz -O $TARBALL tar -xzf $TARBALL cd git-${GIT_VERSION} ./configure --prefix/opt/git-${GIT_VERSION} --with-openssl/usr --with-curl/usr make -j$(nproc) prefix/opt/git-${GIT_VERSION} sudo make prefix/opt/git-${GIT_VERSION} install sudo update-alternatives --install /usr/local/bin/git git /opt/git-${GIT_VERSION}/bin/git ${GIT_VERSION//./} echo Git upgraded to ${GIT_VERSION} fi关键设计点从git/git仓库的VERSION文件读取最新版比解析 HTML 更可靠if [ ! -f ... ]避免重复编译节省 CI 时间update-alternatives自动注册无需人工干预脚本本身用#!/bin/bash而非#!/usr/bin/env bash确保在最小化容器中也能运行。6.3 我的血泪经验永远备份~/.gitconfig并在新环境用git config --list --show-origin验证过去三年我至少三次因为git config --global user.name被 CI 脚本覆盖导致提交记录变成jenkinsci-server也遇到过core.editor指向已卸载的vimgit commit直接卡死。现在我的工作流是git config --list --show-origin ~/git-config-backup-$(date %Y%m%d).txt每日备份新机器装完git-2.39.0后第一件事是git config --list --show-origin确认所有配置来源清晰file:/home/user/.gitconfig优于file:/etc/gitconfig对user.name/user.email/core.editor/credential.helper四个字段做git config --global --get-regexp专项检查。Git 不是玩具它是你代码生命的载体。git-2.39.0.tar.gz这个文件名背后是一整套可审计、可回滚、可定制的工程控制权。你不必每天编译它但必须知道它怎么来、怎么活、怎么救。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

Claude Code Mods 开发指南:工具扩展与终端界面实战

Claude Code Mods 开发指南:工具扩展与终端界面实战

1. Claude Code Mods 到底在改什么:从“对话工具”到“可编程终端工作台”很多人第一次听到 Claude Code Mods 这个词,会下意识以为它是某种插件市场,或者像浏览器扩展那样点一下“安装”就完事。实际用下来你会发现,它更像是一套…

2026/10/9 14:39:37 阅读更多 →
Agent-Reach:AI智能体生产落地的运行时桥接层

Agent-Reach:AI智能体生产落地的运行时桥接层

1. 项目概述:Agent-Reach 是什么,它解决的不是“调用API”这个动作,而是“让AI代理真正抵达业务现场”的最后一公里问题Agent-Reach 这个名字乍看像某个开源工具或CLI命令,但拆开来看,“Agent”指向的是具备目标导向、…

2026/10/13 2:10:42 阅读更多 →
用卫星数据做降雨频率分析:一个开源的流域水文工具

用卫星数据做降雨频率分析:一个开源的流域水文工具

用卫星数据做降雨频率分析:一个开源的流域水文工具 当极端降水事件越来越频繁,我们如何用数据科学为防洪减灾提供科学依据? 2010年巴基斯坦特大洪水、2022年澳大利亚东部洪灾、2024年阿联酋破纪录暴雨……极端降水事件正在全球范围内变得更加频繁和剧烈。对于水文工程师、城…

2026/10/10 17:52:23 阅读更多 →

最新新闻

Semantic Router 与 vLLM AIBrix 集成部署实战:在 Kubernetes 上搭建可扩展的语义路由推理网关

Semantic Router 与 vLLM AIBrix 集成部署实战:在 Kubernetes 上搭建可扩展的语义路由推理网关

后端API网关模型推理服务AI Agent 【免费下载链接】semantic-router An open, programmable decision layer for models and compute. 项目地址: https://gitcode.com/gh_mirrors/sem/semantic-router 点击查看 免费下载 本指南以 Semantic Router 官方文档中「使用…

2026/10/14 18:48:03 阅读更多 →
Activiti HistoryService实战:历史数据查询、清理与归档指南

Activiti HistoryService实战:历史数据查询、清理与归档指南

1. 为什么流程明明跑完了,还得单独维护一套历史数据学习Activiti的时候,大多数人会把精力放在流程定义部署、RuntimeService启动流程、TaskService处理任务这些"正在发生"的事情上。我一开始也是这样,直到某个项目上线大半年后&…

2026/10/14 18:48:03 阅读更多 →
JavaSE初学者课堂作业

JavaSE初学者课堂作业

摘要:本文是计算机大一新生对 JavaSE 学习内容的课堂总结。文章首先介绍了数据类型与程序逻辑控制两大基础知识点,随后规划了后续学习路线,包括面向对象、集合框架、异常处理、IO 流四个核心模块,并逐一说明它们与 AI 应用开发岗位…

2026/10/14 18:48:03 阅读更多 →
AntDesignPro of Vue权限管理实战:路由与按钮级权限设计

AntDesignPro of Vue权限管理实战:路由与按钮级权限设计

1. 权限管理在后台系统里到底管什么后台管理系统做久了,你会发现一个规律:功能越堆越多,最先扛不住的往往不是性能,而是权限。谁能看到哪个菜单、谁只能看不能改、谁连按钮都不该看见,这些问题如果一开始没设计好&…

2026/10/14 18:48:03 阅读更多 →
ponytail:当代职场的情绪标点与轻量协作语言

ponytail:当代职场的情绪标点与轻量协作语言

1. 项目概述:从“ponytail”这个词开始,我们到底在聊什么?“ponytail”这个词最近频繁出现在社交平台的评论区、弹幕和短视频标题里,但它早已不是字典里那个“马尾辫”的简单释义。我做内容运营和用户行为分析十多年,见…

2026/10/14 18:48:03 阅读更多 →
React Native应用难以破解?morphe-patches的Hermes字节码十六进制补丁与哈希修复技巧

React Native应用难以破解?morphe-patches的Hermes字节码十六进制补丁与哈希修复技巧

【免费下载链接】morphe-patches 🍃 Human-made patches for Morphe 项目地址: https://gitcode.com/gh_mirrors/mor/morphe-patches 点击查看 免费下载 morphe-patches 是一个为 Android 补丁工具 Morphe 提供社区补丁的开源仓库,其中最硬核…

2026/10/14 18:47:02 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →