为什么每个程序员都要用 Git
写代码最怕什么?改错了一行,想回到昨天能跑的版本,却发现已经回不去了。Git 就是解决这个问题的工具:它像游戏存档,每次提交都是一个新的存档点,随时可以读档。
Git 还是团队协作的基石:多人同时改代码不打架,每个人在各自的分支上干活,最后合并。学会 Git,孩子就从"自己写代码"进入"专业开发"的门槛。
Git 是程序员的后悔药,也是协作的秩序。
本文核心知识点
- init创建仓库。
- add/commit保存存档。
- checkout读档回退。
- branch/merge分支协作。
仓库:init 与 status
在项目文件夹里执行 git init,就把这个文件夹变成了"仓库",Git 开始帮它记账。用 git status 随时查看当前状态:哪些文件改过、哪些还没提交。
git init
git status
这一行命令,是整个项目历史的第一页。
提交:add 与 commit
提交分两步:git add 把改动放进"暂存区",git commit 把暂存区正式存成一个版本。commit 要写说明,告诉未来的自己"这次改了什么"。
git add main.py
git commit -m "完成猜数字游戏第一版"
习惯:每次提交只做一件小事,说明写得具体。三天后看提交记录,一眼能找回任何版本。
回退:后悔药怎么吃
改坏了想回到上一个提交?用 git checkout 或 git restore。想彻底丢弃最近几次提交?用 git reset。
git log --oneline # 看提交历史
git checkout -- main.py # 放弃当前改动,回到上次提交
git reset --hard HEAD~1 # 退回上一个提交
建议先记住前两条,reset 要小心用,它真的会删掉提交。
分支:平行世界
分支(branch)让代码可以在不同版本上并行开发。比如"主分支"放着稳定版,"开发分支"大胆加新功能,互不干扰。
git branch dev # 创建分支
git checkout dev # 切到分支
git branch # 查看所有分支
理解分支,孩子就理解了"平行宇宙"式的开发方式。
合并与冲突
开发分支做完了,用 git merge 把改动并回主分支。如果两个人改了同一行代码,Git 会提示"冲突",需要手动决定保留哪个版本。
git checkout main
git merge dev
冲突不是错误,是 Git 在保护代码。学会解决冲突,是协作开发的必修课。
提交信息与协作习惯
给青少年的几条好习惯:
- 提交信息用"动词+做了什么":fix login bug、add score feature。
- 每次提交只改一个逻辑单元,别把十件事混在一个提交里。
- 改大功能前先建分支,稳定后再合并。
- 用 GitHub 远程仓库,把作品推到云端,还能备份和分享。
最后一个小任务:用 Git 管理你最近做的一个 Python 项目,提交三次以上,体会一下"存档"的安心感。
本节核心结论
- 提交小而具体。
- 分支大胆尝试。
- 合并小心冲突。
- 远程备份与协作。