当前位置: 首页 > news >正文

Git:AI 写代码时代,为什么还要懂一点?

温馨提示:若页面不能正常显示数学公式和代码,请阅读原文获得更好的阅读体验。

作者:丁闪闪 (连享会)
邮箱:lianxhcn@163.com

  • Title: Git:AI 写代码时代,为什么还要懂一点?
  • Keywords: github, 版本控制, 代码审查, 代码管理, AI 协作

🍎 系列推文:AI 写代码时代,为什么还要懂一点?

编者按:让 AI 写代码以后,一个新问题很快会出现:它不只是改一行代码,而是可能一次改掉十几个文件。它会重命名变量,调整路径,新增函数,删除临时文件,重写 README,顺手把结果表输出方式也换掉。代码可能确实更整洁了,但你也可能不知道它到底改了什么,更不知道改坏以后怎么退回去。Git 解决的不是“怎么写代码”,而是“怎么记录、比较、回退和协作”。本文不是 Git 入门教程,而是一份面向 AI 协作场景的 Git 使用手册。懂一点 Git,不是为了变成程序员,而是为了在 AI 修改项目之后,研究者仍然知道:它改了什么,为什么改,哪里可能出错,必要时如何回到上一个能跑通的版本。

参考资料:

  • Scott Chacon & Ben Straub, Pro Git.
  • Git 官方网站.
  • GitHub 官方网站.
  • GitHub Docs, Creating a pull request.
  • GitHub Docs, Reviewing changes in pull requests.
  • GitHub Docs, About pull requests.
  • 连享会, GitHub Desktop 使用方法介绍:可视化 Git 管理的效率工具.
  • 连享会, Stata 与 Github 交互.
  • 连享会, 社会科学研究复现包中的自述文档模板.
  • 连享会, 如何整理一份规范的论文复现文档?.
  • 连享会, 代码审计:如何从源头确保你的论文可复现?.

1. AI 改了什么,你知道吗?

以前写论文代码,很多人用文件名管理版本:

main.do main-修改版.do main-最终版.do main-最终版2.do main-真的最终版.do main-投稿版.do

这套方法虽然土,但还能勉强看出一点修改顺序。AI 介入以后,这个方法很快失效。因为 AI 不一定只改一个文件,它可能同时改:

01_clean_data.do 02_merge_policy.do 03_construct_variables.do 04_regression.do tables.do README.md requirements.txt

或者在 R / Python 项目里同时改:

clean_data.R model.R plot.R report.qmd utils.py README.md

这时,单靠文件名已经无法回答几个基本问题:

  • AI 到底改了哪些文件?
  • 每个文件改了哪些行?
  • 哪些修改是必要的,哪些是顺手改的?
  • 结果变了,是因为模型改了,还是样本处理改了?
  • 如果新版本跑不通,能不能退回上一个能跑通的版本?

Git 的价值就在这里。它不是替你写代码,而是记录项目变化。你可以把每一次重要修改保存成一个节点。以后项目出错时,不必凭记忆猜“昨天到底改了哪里”,而是可以直接查看差异,必要时回退。

所以,AI 时代学 Git 的目标不必设得很高。多数经管社科研究者不需要一开始就掌握复杂分支、rebase、cherry-pick 或 GitHub Actions。比较现实的目标是:

能记录一个能跑通的版本,能查看 AI 改了什么,能撤回错误修改,能把项目同步到 GitHub,能和合作者在同一个项目上有序协作。

这已经足够改变研究项目的管理方式。

2. Git 不是 GitHub

很多初学者会把 Git 和 GitHub 混在一起。二者相关,但不是一回事。

Git 是版本控制工具,记录本地项目的修改历史。GitHub 是代码托管和协作平台,可以把 Git 项目放到网上,方便备份、共享、协作和代码审查。

可以这样理解:

Git = 本地版本控制 GitHub = 远程托管和协作平台 GitHub Desktop = 可视化 Git 客户端

你完全可以只在本地使用 Git,不把项目传到 GitHub。对于含有敏感数据、未公开论文、保密项目的研究,先在本地使用 Git 记录版本,已经很有价值。

如果项目需要和学生、合作者或助研协作,可以再考虑 GitHub。GitHub 的好处是:

  • 可以远程备份;
  • 可以多人协作;
  • 可以用 issue 记录任务;
  • 可以用 pull request 审查修改;
  • 可以在线查看每次修改的 diff;
  • 可以发布公开复现包、课程材料或在线书。

如果不想一开始使用命令行,可以从 GitHub Desktop 这样的可视化工具入手。连享会此前已经介绍过 GitHub Desktop 使用方法介绍:可视化 Git 管理的效率工具 和 Stata 与 Github 交互,可以作为延伸阅读。

但无论使用命令行、GitHub Desktop、VS Code,还是 Cursor、Claude Code、Codex 这类 AI 编程工具,背后的逻辑都是一样的:

Git 记录修改,GitHub 管理协作。

3. 先把项目纳入版本控制

一个研究项目在使用 Git 前,最好先有基本目录结构。例如:

my_project/ ├── data_raw/ 原始数据 ├── data_clean/ 清洗后的数据 ├── code/ R、Python、Stata 代码 ├── output/ │ ├── tables/ 表格 │ └── figures/ 图形 ├── docs/ 论文、讲义、说明文档 ├── README.md └── .gitignore

所谓“项目根目录”,就是项目最外层文件夹。上面这个例子中,data_raw/code/output/README.md.gitignore所在的这一层,就是项目根目录。

3.1 Git 命令在哪里执行?

需要先说明一点:git initgit statusgit diff这些是 Git 命令,应当在你电脑本地的终端中运行,而不是在 ChatGPT、Claude、Kimi 或 DeepSeek 的普通对话框里直接运行。

对 Windows 用户来说,常见的终端有:

  • Git Bash;
  • PowerShell;
  • Windows Terminal;
  • VS Code 或 Cursor 的内置终端;
  • RStudio / Posit 的 Terminal 面板。

对 macOS 和 Linux 用户来说,通常可以直接使用系统自带的 Terminal。

关键不在于你使用哪一种终端,而在于:终端当前所在的位置,必须是项目根目录

温馨提示:若页面不能正常显示数学公式和代码,请阅读原文获得更好的阅读体验。

http://www.jsqmd.com/news/1005578/

相关文章:

  • Linux 基础详解(适配 Android 内核场景)
  • LS1028A工业处理器与TSN技术:实现OT/IT网络融合的硬件基石
  • M68040总线监听机制:多主系统缓存一致性硬件实现详解
  • applera1n解决方案:轻松绕过iOS 15-16.6激活锁限制
  • 寄快递上门取件哪家最便宜?实测对比告诉你答案 - 快递物流资讯
  • NXP MC9S08SU16 MCU时钟与定时器配置实战:从ICS模式到MTIM精准中断
  • 3DMAX建模避坑指南:用‘编辑多边形’和‘涡轮平滑’做藤椅时,这3个参数千万别设错
  • VCSA克隆恢复后,5480端口配置保姆级教程(解决Service vmware-vmon报错)
  • 忻州黄金回收行情分析多家实体门店深度对比 - 余生黄金回收
  • 5分钟搭建游戏云主机:Sunshine游戏串流终极指南
  • 中国药科大学考研辅导班综合盘点:哪家实力强?报班怎么选? - 推荐优选师
  • 5分钟搞定:WPS-Zotero插件让科研写作效率提升10倍
  • 思源宋体CN:你的中文排版终极解决方案,7种粗细免费商用字体全攻略
  • 乌海市黄金回收套路盘点 正规实体门店逐一介绍 - 余生黄金回收
  • 课程思政优秀案例《C语言程序设计》
  • 户外徒步、越野跑必备:如何用手机App(如Gaia GPS)一键校正磁偏角,告别地图导航误差
  • yuzu模拟器:在电脑上畅玩Switch游戏的终极解决方案
  • Audio Router:重新定义Windows音频管理体验
  • i.MX21时钟与复位控制器详解:PCCR1、CCSR、WKGDCTL寄存器实战指南
  • 2026免费音频转文字在线转换软件推荐,手把手教你高效转写 - 办公小帮手
  • Python 高手编程系列十九:分析内存使用
  • 2026承德黄金回收套路拆解 靠谱门店汇总 - 余生黄金回收
  • 2026年6月电子万能试验机与拉力机厂家推荐指南 - 多才菠萝
  • 如何永久保存微信聊天记录:打造个人AI数据宝库的完整指南
  • MC68EZ328嵌入式开发实战:RTC与DRAM控制器配置详解
  • 【镇海区】2026除甲醛公司深度测评:新城 + 老城双覆盖,技术稳定才是王道 - 泓动
  • 以诚为舟行天地,以信为锚定人生
  • 常州2026热门家居 高端全屋定制品牌推荐 - 十大品牌排行榜
  • MC68SZ328在线仿真器设计:从硬件断点到追踪模块的嵌入式调试实战
  • N_m3u8DL-CLI-SimpleG:终极免费M3U8视频下载图形界面解决方案