第2篇:Git三连招:add → commit → push——学会“拍照-记录-上传”三步法,管理你的代码
📸 场景引入
小白:“我在电脑上写了一些代码和笔记,怎么把它们放到昨天创建的Gitee‘菜园’里呢?直接复制粘贴吗?” 爱好者:“当然不是!那样就像把蔬菜乱扔进菜园。我们需要Git的‘拍照-记录-上传’三步法,让每次‘种植’都有条不紊。” 真实痛点:你有没有遇到过这种情况?
- 修改代码后,发现改错了,想退回之前版本却找不到备份
- 多人协作时,不知道谁改了哪个文件
- 想看看三天前项目是什么样子,但已经忘记了
Git的三步法正是解决这些问题的“时光机”!
📦 核心概念(比喻版)
本地仓库 vs 远程仓库
想象你有一个实体相册和一个云端相册:
- 本地仓库 = 你电脑里的文件夹(实体相册)
- 远程仓库 = Gitee上的仓库(云端相册)
- 同步 = 把实体相册的照片上传到云端备份
Git三连招的精妙比喻
- git add = 拍照 📸
- 不是真的保存文件,而是“举起相机对准要拍的东西”
- 告诉Git:“嘿,这几个文件的变化我打算记录下来”
- git commit = 写下照片描述 📝
- 给这张“照片”加上描述:“2026年4月13日,添加了导航栏”
- 这是永久记录,以后随时能找回这个瞬间
- git push = 上传到云端 ☁️
- 把本地相册里的照片上传到Gitee云端
- 这样即使电脑坏了,你的“照片”也安全
一句话总结: "add"是选景, "commit"是拍照+写备注, "push"是上传分享。
🚀 准备工作:安装Git
Windows用户
- 访问:"git-scm.com/" (git-scm.com/)
- 下载Git for Windows
- 安装时一路“Next”,用默认选项即可
- 安装完成后,在桌面右键,应该能看到“Git Bash Here”选项
Mac用户
- 打开“终端”(Terminal)
- 输入命令: "xcode-select --install"
- 或从官网下载Mac版Git
验证安装成功
打开终端(Mac/Linux)或Git Bash(Windows),输入:
git --version
看到类似 "git version 2.40.0" 的版本号,就成功了!
小知识:Git是林纳斯·托瓦兹(Linux之父)在2005年创造的,用来管理Linux内核代码。现在已成为全球程序员的标准工具。
🌟 手把手教学:配置Git
步骤1:设置你的身份标签
Git需要知道是谁在“拍照”,所以先做个自我介绍:
在终端/Git Bash中输入(替换成你的信息)
git config --global user.name "你的名字" git config --global user.email "你的邮箱@example.com"
示例:
git config --global user.name "张三" git config --global user.email "zhangsan@example.com"
注意:邮箱要和Gitee注册邮箱一致,这样贡献记录才能正确关联。
步骤2:检查配置
输入以下命令,看看配置是否正确:
git config --list
你应该能看到你设置的名字和邮箱。
📁 实战演练:把本地文件“种”到Gitee菜园
步骤1:在电脑上创建“知识星球”项目文件夹
打开终端,进入你喜欢的目录(比如桌面)
cd ~/Desktop # Mac
或
cd Desktop # Windows Git Bash
创建项目文件夹
mkdir my-knowledge-garden cd my-knowledge-garden
步骤2:初始化本地Git仓库
这个命令会在当前文件夹创建隐藏的.git文件夹
git init
你会看到:
Initialized empty Git repository in /Users/你的名字/Desktop/my-knowledge-garden/.git/
重要: ".git"文件夹是Git的“记忆中枢”,不要手动修改或删除它。
步骤3:创建你的第一个文件
创建一个简单的网页文件
echo "
欢迎来到我的知识星球!
" > index.html创建一个笔记文件
echo "# 今日学习笔记" > note.md
步骤4:Git三连招上场!
第一招:git add(拍照)
方式1:为单个文件“拍照”
git add index.html
方式2:为所有变化“拍全景照”(推荐新手用这个)
git add .
那个点 "."表示“当前目录的所有文件”。
发生了什么:Git已经把 "index.html"和 "note.md"放进了“相机取景框”,准备拍照。
第二招:git commit(写下照片描述)
给这次拍照写个描述
git commit -m "添加首页和第一个笔记"
你会看到类似这样的信息:
[main (root-commit) a1b2c3d] 添加首页和第一个笔记 2 files changed, 2 insertions(+) create mode 100644 index.html create mode 100644 note.md
重要提示:
"-m"后面的内容是必填的,而且要有意义
- 好的描述:“修复登录按钮点击无效的问题”
- 坏的描述:“更新了文件” ← 这等于没说
第三招:git push(上传到云端)
先连接你的Gitee仓库:
复制你在Gitee上创建的仓库地址(HTTPS格式)
在仓库页面点击“克隆/下载”,复制HTTPS链接
git remote add origin gitee.com/你的用户名/my-kn…
然后上传:
第一次上传需要指定分支
git push -u origin main
如果出错:可能是分支名不对,试试:
git push -u origin master
输入账号密码:会提示输入Gitee的用户名和密码(或token)。
看到类似这样的信息就成功了:
Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Writing objects: 100% (4/4), 320 bytes | 320.00 KiB/s, done. Total 4 (delta 0), reused 0 (delta 0) To gitee.com/你的用户名/my-kn…
- [new branch] main -> main Branch 'main' set up to track remote branch 'main' from 'origin'.
🔄 应用到我们的“知识星球”项目
完整的操作流程示例
假设你想为知识星球添加一个“关于我”页面:
- 在本地创建文件
进入项目文件夹
cd ~/Desktop/my-knowledge-garden
创建about.html
echo "
关于我
一个热爱学习的人
" > about.html- Git三连招
1. 拍照
git add about.html
2. 写下描述
git commit -m "添加关于页面,简单自我介绍"
3. 上传到云端
git push
小技巧:第二次及以后的 "push",只需要 "git push"即可,不用加 "-u origin main"了。
检查成果
- 刷新你的Gitee仓库页面
- 应该能看到3个文件: "README.md"、 "index.html"、 "about.html"、 "note.md"
- 点击“提交历史”,能看到两次提交记录,就像相册的“拍摄时间线”
🎯 Git三连招的快捷方式
情况1:只想提交部分文件
先用git status看看有哪些变化
git status
会显示:
modified: index.html (修改的文件)
new file: about.html (新文件)
只提交index.html
git add index.html git commit -m "更新首页"
稍后再提交about.html
git add about.html git commit -m "添加关于页面"
情况2:一次性提交所有修改
添加所有修改并提交(适合小的、相关的修改)
git add . git commit -m "更新首页和关于页面"
情况3:直接提交所有修改(最简写法)
跳过add,直接提交所有修改
git commit -a -m "一些更新"
注意: "git commit -a"只对已跟踪文件有效,新文件还是要先 "git add"。
❓ 常见问题与误区
Q1: "git add ." 和 "git add -A" 有区别吗?
新手用 "git add ."就够了,区别是:
"git add .":添加当前目录及子目录的所有变化
"git add -A":添加整个仓库的所有变化
Q2:commit消息写错了怎么办?
修改最近一次commit的消息
git commit --amend -m "正确的提交消息"
注意:如果已经push到远程了,修改后需要 "git push -f"(强制推送),慎用。
Q3:忘记 "git add"直接 "git commit"了?
会提示没有东西可提交
只需要先git add,再git commit即可
Q4: "git push"失败,说“非快进”?
这表示远程仓库有你没有的更新,先拉取再推送:
git pull origin main git push origin main
常见误区:
- 误区:
"git add"就是保存文件
- 事实: "git add"只是“标记”要记录的变化,真正的保存是 "git commit"
- 误区:commit消息随便写写
- 事实:好的commit消息是给自己和别人的“时光机导航”
- 误区:必须每次修改都push
- 事实:可以在本地多次commit,积累几个有意义的变化再push
📊 理解Git的状态流转
文件在Git中有三种状态:
工作目录 → 暂存区 → 本地仓库 → 远程仓库 ↓ ↓ ↓ ↓ 编辑文件 git add git commit git push | | | | 修改了 准备提交 永久记录 同步到云端 但未跟踪 的更改 在本地
用相机比喻:
- 工作目录:你在布置拍摄场景
- 暂存区:举起相机,对准要拍的东西
- 本地仓库:按下快门,照片存在相机里
- 远程仓库:把照片传到云端相册
查看状态的命令:
git status # 查看当前状态 git log # 查看提交历史
📝 今日收获总结
今天你掌握了Git最核心的三个命令,完成了从本地到云端的完整流程:
✅ 安装了Git——获得了你的“代码时光机”
✅ 理解了add/commit/push——拍照/记录/上传三步法
✅ 配置了Git身份——让你的每次提交都有署名
✅ 连接了本地和远程仓库——架起了数字桥梁
✅ 完成了第一次完整提交——把本地文件安全送到了云端
你的知识星球现在有:
my-knowledge-garden/ ├── .git/ # Git的“记忆中枢”(隐藏文件夹) ├── README.md # 从Gitee在线创建的 ├── index.html # 你本地创建并push的 ├── about.html # 完整流程练习 └── note.md # 学习笔记文件
🔮 下篇预告 & 思考题
下篇预告:《分支:开发新功能的“平行宇宙”》
学会了基本操作,但如果你想要实验一个新功能,又不想影响现在稳定的项目怎么办?下一篇我们将学习Git的“平行宇宙”——分支,让你可以大胆尝试,不怕搞砸。 你将学到:
- 什么是分支?为什么要有分支?
- 如何创建、切换、合并分支?
- 分支在实际项目中怎么用?
今日思考题:
- 用 "git add ."提交所有修改,有什么好处和风险?
- 你觉得commit消息应该像日记一样详细,还是像标题一样简洁?
动手小任务:
- 在你的知识星球项目里:
- 修改
"index.html",添加
"
这是我的数字花园
" - 创建一个新文件 "plan.md",写下一周学习计划
- 用三连招提交这些修改
- 修改
"index.html",添加
"
- 在Gitee上查看提交历史,点击不同的提交,看看有什么不同
📖 延伸资源
- Git官方文档:"git-scm.com/doc" (git-scm.com/doc)
- Git可视化学习:"learngitbranching.js.org/" (learngitbranching.js.org/)(强烈推荐!)
- 提交消息规范: 类型(范围): 简短描述
详细描述(可选)
修复了什么bug(可选) 示例: "feat(ui): 添加导航栏样式" 4. 常用Git命令速查: git status # 查看状态 git log --oneline # 简洁的提交历史 git diff # 查看具体修改了什么
编程如园艺,需要耐心和记录。 每一次commit都是你成长路上的一块踏脚石,每一次push都是向世界展示你的进步。 如果遇到任何问题,记住:
- 用 "git status"看看当前状态
- 用 "git log"看看提交历史
- 大部分错误都可以安全地重来
下一站,平行宇宙! 🚀