Skip to content

保存并上传自己的一次修改 ​

真实场景 ​

你已经把 tiny-notes 项目放在电脑上。现在把首页标题从“我的笔计”改成“我的笔记”,并希望 GitHub 也保存这次修改。

不要一上来就运行 git add .。先按顺序看清楚每一站。

第零步:确认你站在正确项目里 ​

bash
pwd
git status

pwd 告诉你终端当前在哪个文件夹。git status 确认这里确实是 Git 仓库,并显示当前分支。

如果终端说 not a git repository,通常不是项目坏了,而是终端站错文件夹。

第一步:修改文件并保存 ​

用编辑器打开 docs/index.md,修正文字并按保存。

这时文件已经保存在电脑硬盘,但还没有成为 Git 版本。

第二步:用 Status 看有哪些文件变化 ​

bash
git status

你可能看到:

text
On branch fix-homepage-typo
Changes not staged for commit:
  modified: docs/index.md

人话翻译:你在 fix-homepage-typo 分支;docs/index.md 变了,但还没有被选进下一次 commit。

第三步:用 Diff 看每一行具体变化 ​

bash
git diff

你会看到旧行前面有 -,新行前面有 +:

diff
-# 我的笔计
+# 我的笔记

这里的加号和减号是 Git 的差异标记,不是文件正文。检查有没有 AI 顺手改掉的无关内容。

第四步:用 Add 选择这次要保存的文件 ​

bash
git add docs/index.md

git add 的意思不是上传,也不是发布。它只是把这个文件当前的变化放进“下一次 commit 的待保存清单”。

再检查一次:

bash
git status
git diff --staged

git diff --staged 只显示已经选进待保存清单的变化。

为什么初学时少用 git add . ​

. 表示当前目录下的全部变化。如果项目里还混着临时文件、密钥或 AI 的无关修改,它们可能一起进入 commit。初学时写清楚文件名更安全。

第五步:用 Commit 创建本地版本 ​

bash
git commit -m "修正首页标题错别字"

逐段解释:

text
git commit    把待保存清单做成一个版本
-m            后面要写这次版本的说明
引号内文字    告诉未来的你“为什么改”

成功时会出现类似:

text
[fix-homepage-typo a1b2c3d] 修正首页标题错别字
 1 file changed, 1 insertion(+), 1 deletion(-)

这个 commit 目前只在你的电脑上。

第六步:用 Push 上传到 GitHub ​

第一次上传这个新分支:

bash
git push -u origin fix-homepage-typo

以后仍在同一个分支继续提交时,通常只需要:

bash
git push

origin 是远程仓库简称;fix-homepage-typo 是要上传的分支。

怎样判断每一步真的完成了 ​

修改完成 ​

编辑器和本地页面能看到正确文字。

Commit 完成 ​

运行 git status,通常显示工作区干净;运行 git log -1 能看到刚才的提交说明。

Push 完成 ​

打开 GitHub,切换到 fix-homepage-typo 分支,能看到新 commit 和修改后的文件。

一句话工作流 ​

text
status 看范围
  ↓
diff 看内容
  ↓
add 选择
  ↓
commit 保存到电脑
  ↓
push 上传到 GitHub

常见失败 ​

nothing to commit ​

Git 没找到待提交变化。检查文件是否保存、是否站在正确仓库、是否已经 add。

Push 要求先 Pull ​

远程分支有你电脑上没有的新版本。不要强制 push 覆盖别人,去看拉取更新和处理冲突。

Commit 后网站没有更新 ​

Commit 只是本地存档;还可能需要 push、构建和部署。

文件已经保存,为什么还要 git commit?

答案:保存文件只改变电脑上的当前内容。commit 会把一组经过选择的变化记录成有说明、可比较、可回退的 Git 版本。

写给想驾驭 AI,而不只是依赖 AI 的 Vibe Coder。