第 2 章 · 打开项目、色标与 .gitignore
本章目标:读懂 U/M/A/D 色标各代表什么;会用菜单 初始化 / 克隆 / 关联拉取 建立 Git 项目;写好 .gitignore,确保 .env.local、node_modules 永远不会进 Git;完成从空文件夹到「有色标、可提交」的全流程。
学时建议:3.5~4 小时(含 2 小时跟练)
前置:完成 git-collab ch01、quick-start ch04;桌面版工作台。
2.1 场景说明:SRX 新建了 fifty 个文件,提交时全绿了?
新人用 SRX 改 shop-demo,左侧一片 U 和 M,一点「提交」发现:
node_modules/几万个文件也要交.env.local里 DB_PASS 差点进仓库- 同事 GitHub 上收到 PR:「请去掉依赖目录,密钥轮换」
本章两件事:① 看懂色标;② 用 .gitignore 在源头挡住不该交的文件。
2.2 学完你能
| 能力 | 验收 |
|---|---|
| 色标 | 改/新建/删除文件后说清 U/M/A/D |
| 打开根 | 色标正常出现 |
| 建仓库 | 初始化或克隆成功,有 .git |
| gitignore | 至少 8 条规则,含 .env.local |
| 克隆 vs 关联 | 向同学口述两种场景区别 |
| 身份表单 | 首次操作填过 Git 用户名邮箱 |
2.3 色标详解:文件树就是你的「变更仪表盘」
前提:项目 → 打开项目 → 打开项目文件夹,必须选 含 .git 的仓库根(ch01)。
| 角标 | 颜色(约) | Git 含义 | 您该想什么 |
|---|---|---|---|
| U | 绿 | Untracked 未跟踪 | 新文件;ignore 规则是否该挡 |
| M | 黄 | Modified 已改未提交 | 正常开发中 |
| A | 绿 | Added 已暂存 | 已在「篮子」里,待 commit(ch03) |
| D | 红 | Deleted 删除待提交 | 确认是否真删 |
文件夹名变色:子目录里有上述状态时,文件夹也会高亮——不用逐个展开找。
色标何时刷新:Ctrl+S 保存后;外部程序改磁盘;有时需 仓库 → 重新加载文件树(GitHub 组)。
跟练 2.3:
| 步骤 | 操作 | 期望 |
|---|---|---|
| 1 | 打开 shop-demo 根 | 有树 |
| 2 | 改 README.md 保存 | M |
| 3 | 新建 notes/tmp.txt 保存 | U |
| 4 | 删除一个无关测试文件 | D(若曾被 Git 跟踪) |
2.4 三种「建仓库」方式(选对菜单,少走一夜弯路)
情况 1:电脑上没有代码,GitHub 上已有仓库
菜单:仓库 → GitHub 远程仓库 → 从 GitHub 克隆
| 要点 | 说明 |
|---|---|
| 本地路径 | 空文件夹或新建目录 |
| 需填 | GitHub 地址、本地路径、访问令牌 PAT(ch07 详讲) |
| 成功后 | 工作台往往自动打开该项目 |
你应该看到:左侧出现克隆下来的文件;根目录有 .git。
情况 2:本地已有 shop-demo 代码,GitHub 建了空仓库
菜单:仓库 → GitHub 远程仓库 → 关联本地并拉取
| 要点 | 说明 |
|---|---|
| 适用 | 文件夹里已有文件,尚未 git remote |
| 作用 | 绑定 remote + 首次 pull(可能有 merge) |
不要 对有大量本地文件的路径用「克隆」——克隆要求目标空目录。
情况 3:纯练习、暂不上传(选修)
菜单:仓库 → 本地仓库 → 初始化仓库
这是本机快照,不能代替 GitHub 团队协作。团队项目请用 情况 1 或 2。
2.5 跟练:从空文件夹到有色标(推荐全员做一遍)
步骤 1 — 建目录
在 WSL / 本机建:~/dev-workspace/my-shop-practice(名字随意,空文件夹)。
步骤 2 — 打开项目
项目 → 打开项目 → 打开项目文件夹 → 选 my-shop-practice。
步骤 3 — 初始化 Git
仓库 → GitHub 远程仓库 → 初始化仓库
(若只做本地:仓库 → 本地仓库 → 初始化仓库。)
首次可能弹出 Git 用户名、邮箱 表单——填写真实可辨认信息,与 GitHub 一致更好。
步骤 4 — 第一个文件
资源管理器右键或 文件 → 新建文件 → README.md,写:
# my-shop-practice
git-collab ch02 练习仓库
Ctrl+S → 应出现 U。
步骤 5 — 加 .gitignore(下一节完整模板)
保存后再看:被 ignore 的规则匹配的文件不应再显示为待提交 U(若仍显示,见 2.7)。
2.6 跟练:写一份「商城项目级」.gitignore
在仓库根目录新建 .gitignore(注意开头有点):
# 依赖与构建产物
node_modules/