第一次开源贡献,
从这里开始。
跟着图解,把一份简单作品从自己的电脑,送到课程的 Gitee 仓库。
今天的目标:做出作品 → 保存版本 → 推送到自己的仓库 → 发起一个方向正确的 PR。
开始课前检查 ↓查看百人课堂安排01先准备好,再进入课堂
本课承接“认识 Gitee 与 Git”的入门课。安装、注册和登录请在课前完成;现场把时间留给作品和协作。90 分钟也不承诺 100 个 PR 都能当场合并。
学生:课前一天完成
助教:课前完成一次完整演练
- 用测试账号走完 Fork → Clone → Push → PR。
- 确认主仓库允许 Fork、能接受 PR;目标分支为
master。 - 确认本次允许
src/部门-班级-姓名/目录规则;在群内统一公布。 - 准备离线模板、安装包官方入口和备用网络。
- 检查投影字体、座位分区与 100 人并发联网;合并权限由维护者持有。
git --version看到版本号就通过。若提示“无法将 git 识别为命令”,先重开终端;仍失败请助教检查安装与 PATH。不要全班现场一起重装。登录、短信验证、滑块验证由本人完成。
没有电脑、安装失败或登录卡住怎么办?
优先两人互助,由本人操作自己的账号。Git 安装或推送认证超过 3 分钟仍未解决时,助教记录问题,先转到网页备用路线。未登录者可跟随同桌观察、完成概念题并领取补做任务;不能把观察记作独立实操通过。
教师提示 / 开课前 5 分钟
助教逐人检查“能登录、能输出 Git 版本、目录名无重复”。分区汇总就绪人数;未就绪同学坐到靠助教的位置。不要让任何人把密码、验证码或令牌投到屏幕上。
02先看懂:文件到底去了哪里?
图 1 / 开源协作路线 · 教学示意
① Fork:主仓库 → 个人远程副本 ② Clone:个人远程副本 → 电脑
③ Commit 不会自动上传 ④ Push 不会自动合并 ⑤ PR 是申请,维护者决定是否合并
Git 是工具
在电脑上记录文件变化与提交。关掉网络也能编写作品、生成 Commit。
Gitee 是平台
保存远程仓库,并提供 Fork、PR、审核等协作入口。
分支是一条工作线
本课在个人分支上改作品,再请求合并到课程仓库的 master。
03填写我的信息,命令就会对应到我
这里填的是 Gitee 个人空间地址中的用户名,不是昵称。例:地址为 gitee.com/example-user,填 example-user。
先填写用户名和“部门-班级-姓名”,再复制个性化命令。
src/部门-班级-姓名/个人分支:learn/部门-班级-姓名本页没有登录功能,不需要密码或访问令牌。用户名和目录名只用于本地生成命令;勾选进度保存在当前浏览器。
04Fork:先拥有自己的副本
第 1 步 · 8–18 分钟- 打开 课程仓库,确认地址属于
Se1yo-aipacino/se1yo。 - 找到 Fork,选择自己的个人空间;按页面提示创建副本。
- 创建后检查地址和仓库标题:所有者必须是你自己。仓库名称若被自动修改,先请助教检查,本页命令默认仓库名为
se1yo。
图 2 / Fork 前后看“所有者” · 界面示意,按钮以当前页面为准
↓ 选择“自己的个人空间”,完成派生
② 看这里:斜杠前的所有者变成了自己的用户名
能打开自己空间中的 se1yo 仓库;只停留在主仓库不算 Fork 成功。
教师 / 助教检查
先投影演示一个完整 Fork,学生随后操作。不要 100 人同时反复点 Fork。先检查相邻两位同学的地址,再互相检查;出现重名或已有 Fork 时,打开已有副本并由助教判断是否同步,别重复造多个仓库。
Clone:把自己的副本带到电脑上
第 2 步 · 18–30 分钟在电脑中选一个存放课程文件的目录,在该目录打开终端。本课新建的本地文件夹统一叫 se1yo-classroom;它是本地目录名,不是远程仓库名。
若目录已存在,不要删除重来。进入现有目录,请助教检查它是否是本次仓库,然后从检查命令继续。
检查输出:origin 指向自己的用户名;当前分支显示 learn/部门-班级-姓名。如果已存在同名分支,由助教确认后用 git switch 分支名 切换,不重复创建。
请把邮箱占位文字改为 Gitee 已验证的邮箱或平台提供的隐私邮箱,再执行。显示名可用“部门-班级-姓名”。提交署名配置不是登录认证,不会自动获得 Push 权限。
电脑中有仓库,origin 属于自己,当前位于个人分支。
助教检查
重点看 git remote -v,避免学生克隆主仓库后遇到 403。将“文件夹路径”和“仓库 URL”在投影上分开说明。Git 安装或克隆超过 3 分钟没有进展,登记后转备用路线,主讲继续推进。
05建立自己的作品目录
第 3 步 · 30–35 分钟在文件管理器打开 se1yo-classroom。如果没有 src,新建它;在其中新建以自己“部门-班级-姓名”命名的文件夹。文件夹必须含实际文件,Git 才能记录。
图 3 / 只在自己的目录里创作
se1yo-classroom/
├── README.md 保留课程说明,不改
├── LICENSE 保留许可证,不改
└── src/
└── 部门-班级-姓名/ ← 只改自己的这一层
├── index.html 浏览器打开就能看
└── README.md 写作品说明目录名格式:部门-班级-姓名,用短横线连接。请与同学确认目录名不重复;公开作品里不写手机号和学号。
把下载的两个文件移动到自己的作品目录。浏览器若自动改名为 index (1).html,请重命名为 index.html;开启资源管理器“文件扩展名”后检查,避免保存成 .html.txt。
写两句话,再亲眼看看效果
第 4 步 · 35–45 分钟用编辑器打开自己的 index.html,修改部门-班级-姓名和学习目标;保存。双击该文件,在浏览器查看结果。作品 README 写清“做了什么”和“怎样运行”。
最低作品要求
- 有
Hello, OpenAtom!标题。 - 显示自己的部门-班级-姓名。
- 至少写一条自己的学习目标。
- README 写“浏览器打开 index.html”。
提前完成可选做
改一处颜色、增加一段学习计划,或给页面加一个链接。先保证能打开、能提交,再扩展功能;本课不要求大型项目。
图 4 / 一份合格的最小作品 · 示例预览
Hello, OpenAtom!
部门-班级-姓名:部门-班级-姓名
我想学习:用 Git 记录自己的作品版本。
本地浏览器能看到自己修改后的文字;同桌能按 README 打开作品。
教师提示
只投影演示修改两处文字,给学生 7 分钟独立创作和 3 分钟互查。先保证最低作品达标;不在这一步临时讲完整 HTML 语法。
06Commit:给作品留下一条版本记录
第 5 步 · 45–51 分钟回到终端,确认仍在 se1yo-classroom 根目录。先检查改动,再只暂存自己的目录。
图 5 / Git 的三处位置 · 教学示意
src/部门-班级-姓名/ 下的作品。若出现主 README、别人的目录或其他文件,先找助教检查,不继续提交。git log -1 --oneline 能看到自己的提交说明;git status 提示工作区干净。此时作品还只在电脑里。Push:让个人仓库看到最新作品
第 6 步 · 51–58 分钟根据 Git 客户端与 Gitee 提示完成本人认证。密码或访问令牌只在认证界面使用,不能放进仓库 URL、作品、聊天截图或投影。已启用双因素认证的账号,按 Gitee 当前说明使用支持的令牌或 SSH 方式;本课不要求统一切换认证方式。
- 刷新自己的 Fork 仓库。
- 切换分支到
learn/部门-班级-姓名,不要只看默认 master。 - 打开
src/部门-班级-姓名/,确认两个文件和最新提交说明都在。
助教排队处理
每名助教负责一片区域;只记录目录名、错误文字和卡在哪一步。3 分钟解决不了,保留现场状态并转备用路线或补做队列。不要索取账号密码,也不要让全组共用一个账号来凑完成数。
07PR:把作品贡献给课程仓库
第 7 步 · 58–73 分钟在自己的 Fork 中找到 Pull Requests → 新建 Pull Request。先核对字段含义,再填写内容。不要死记左右顺序。
图 6 / 合并请求的方向 · 字段位置以 Gitee 当前页面为准
改动从“我”流向“课程仓库”。看到目标仍是自己的仓库时,先改目标仓库。
| 字段 | 本课正确值 |
|---|---|
| 源仓库 | 你的用户名 / se1yo |
| 源分支 | learn/部门-班级-姓名 |
| 目标仓库 | Se1yo-aipacino / se1yo |
| 目标分支 | master;若维护者调整,以课程公告为准 |
| 文件差异 | 只包含自己目录下的文件,不改首页、许可证或他人文件 |
点击创建前,再看一次文件差异、源分支、目标仓库。创建后保存 PR 链接,交给助教登记;不要把自己的 Fork 首页当作 PR 链接。
有一个能打开的 PR 链接,目标是课程仓库,差异只包含个人作品。状态“打开/待审核”表示已提交申请,不代表已合并。
接受一次反馈,再完成离场检查
第 8 步 · 73–90 分钟同桌互查:作品能否打开、README 是否清楚、目录是否只属于本人。维护者需要修改时,在原个人分支修改同一目录,再提交和推送。打开的同一 PR 会继续显示同分支的新提交,不要为一次小修改新建多个 PR。
图 7 / PR 状态与下一步 · 教学示意
维护者也可能直接合并;被关闭但未合并的 PR,需要先阅读关闭原因再处理。
维护者演示
选 1 个普通示例现场审核,再选 1 个可修正的小问题演示反馈。不要用投影公开批评学生。批量审核放到课后 24–48 小时处理;这是建议安排,主办方需按人手确认后公布。
08备用路线:先用网页完成一次协作
当电脑 Git 或认证问题超过 3 分钟无法解决时,使用这条路线跟上课堂。它能练习平台贡献,不计为已经掌握本地 Git 命令。
- 先完成第 1 步 Fork,确认进入自己的副本。
- 在自己的仓库中选择“新建文件”或“上传文件”;若页面支持新建分支,优先用个人分支,否则在自己的默认分支提交也可以。
- 使用“新建文件”时,文件路径写
src/部门-班级-姓名/index.html,粘贴模板并修改。路径中的斜杠会建立目录;上传界面若不能保留目录,就改用新建文件。 - 同样创建
src/部门-班级-姓名/README.md,填写作品说明并提交。 - 核对文件出现在自己的分支上,再按第 7 步创建 PR。源分支选择这次实际提交文件的分支,目标仍是课程仓库的 master。
- 在离场记录中标注“网页路线”;课后补做 Clone、Commit、Push,并向助教展示。
需要复制模板代码?点这里展开
09卡住时,先按错误信息定位
先看自己卡在哪一步。举手时说“部门-班级-姓名 + 第几步 + 错误文字”;只截图必要错误,不展示凭据。
“git”无法识别 / command not found
重开终端后运行 git --version。仍失败由助教检查 Git 安装与 PATH;当前先走网页备用路线,不从陌生地址安装软件。
not a git repository / 不在 Git 仓库
终端未进入克隆得到的目录。用文件管理器打开 se1yo-classroom 再开终端,或执行 cd se1yo-classroom。不要在桌面随意运行 git init 来掩盖路径错误。
Author identity unknown / 提交者身份未知
按第 2 步设置当前项目的 user.name 与 user.email,替换邮箱占位文字,再重试 Commit。这和 Gitee 登录密码无关。
nothing to commit / 文件没有进入提交
先保存编辑器文件;确认在正确项目里,目录含实际文件,没有误存到“下载”文件夹。运行 git status;若已经提交,可用 git log -1 --oneline 查看记录。
403 / 没有权限 / Authentication failed
先运行 git remote -v,核对 origin 是否是自己的 Fork。如果不是,先找助教核对 URL;如果是,按平台提示检查本人认证。不要共享令牌、反复猜密码或把凭据写进 URL。
src refspec … does not match any
执行 git branch --show-current 和 git log -1 --oneline,确认分支真实存在且有提交;推送命令里的分支要和输出一致,不盲目把 master 改成 main。
non-fast-forward / 推送被拒绝
远程存在本地尚未包含的更新。停止重复推送,请助教协助同步并处理冲突;不要使用 --force。保留自己的作品文件与当前状态。
PR 没有差异 / 找不到自己的修改
先到自己的远程仓库切换实际推送的个人分支,检查文件。如果文件存在,核对 PR 的源分支和目标仓库;如果目标已经包含改动,查看此前 PR 是否已合并,不重复创建。
PR 目录重复 / 修改了别人的文件
核对目录名是否与别人重复,以及是否只改自己目录。先让助教协助整理差异,再提交到原分支并推送。不要擅自删除他人的目录。
创建 PR 成功,但还没有“已合并”
这是待审核状态。提交 PR 链接,查看维护者反馈;不要为了刷新状态反复发 PR。课堂已提交与最终已合并要分别统计。
网页滑块验证 / 账号登录卡住 / 网络中断
验证由账号本人完成,助教只解释步骤。超过 3 分钟仍失败就记录目录名和卡点、保留作品,参与同伴互查,课后恢复网络或账号后补做;不能把登录失败记为独立提交成功。
没有找到对应错误。请举手,让助教查看当前步骤与完整错误文字。
10离场前,用证据检查一次
课堂验收:已提交
- 个人作品能打开,说明可复现。
- 作品位于自己的目录。
- PR 指向课程仓库 master,范围正确。
- 助教登记目录名、PR 链接和路线。
本地路线还需展示一次 Commit 与 Push;网页路线单独记录,安排补做。
课后验收:已合并
- 读完审核反馈,必要时修改。
- PR 明确显示“已合并”。
- 维护者核对文件进入目标分支。
- 补做者完成本地流程再更新记录。
不承诺学分、奖品或证书。相关权益须由主办方另行明确。
三道离场题
导出文件不是课程通过证明;是否完成以作品、提交记录和 PR 状态核验。进度不会自动上传给教师。
11教师执行表:让 100 人跟得上
以下为本次新策划建议,需主办方排定人员后执行。100 名学生不分小组,每人使用自己的账号、目录和作品;相邻两人可互相检查。
讲台 / 1 位主讲
统一演示与口令。每次只讲一个检查点,演示结束后再让学生操作,避免一边安装一边讲概念。
教室 / 建议 5 位助教
每位负责约 20 人。不需要学生组长;助教直接汇总就绪人数,不负责代登录或审核合并。
后台 / 1 位维护者 + 1 位机动
维护者持有合并权限、组织审核;机动人员处理网络、投影与安装问题。人员不足时优先扩课时、缩人数或分两场。
发布通知、收集设备情况,确定人员、教室和仓库规则。
完成安装、账号登录、网络演练,确认目录名与离线模板。
每阶段由助教汇总全班完成数和卡点,按路线分开记录。
建议完成第一轮审核反馈、补做辅导和合并状态回查。
90 分钟主方案
| 时间 | 学生在做什么 | 主讲 / 助教动作 | 检查证据 |
|---|---|---|---|
| 0–8 分 | 就座、课前检查、理解路线 | 展示完整闭环;确认全班就绪人数 | 账号、Git 版本、目录名 |
| 8–18 分 | Fork 个人副本 | 演示所有者变化;同伴互查地址 | 个人 Fork URL |
| 18–30 分 | Clone、建分支、设署名 | 检查 origin 和当前分支;分流安装问题 | 终端输出 |
| 30–45 分 | 建目录、改模板、浏览器预览 | 只示范最小作品;10 分钟创作与互查 | 目录 + 本地页面 |
| 45–58 分 | Commit、Push | 检查暂存范围;助教集中处理认证 | 本地记录 + 远程个人分支 |
| 58–73 分 | 创建 PR | 逐字段演示方向;助教登记链接 | PR 差异与目标仓库 |
| 73–83 分 | 互查、体验反馈 | 演示审核 1–2 个 PR;不等待全部合并 | 互查结果与修改记录 |
| 83–90 分 | 离场题、登记、说明补做 | 汇总提交 / 卡点 / 网页路线人数 | PR URL + 离场记录 |
只有 60 分钟?使用压缩方案
前提:课前完成登录、Git 安装、模板下载和目录名确认,并通过助教预检。否则按原 PPT 做认识与准备课,另排实操课,不强行要求全部完成。
| 时间 | 内容 |
|---|---|
| 0–5 分 | 目标、路线和就绪检查 |
| 5–12 分 | Fork、Clone、建分支 |
| 12–25 分 | 模板改造与本地验证 |
| 25–38 分 | Commit、Push、检查远程 |
| 38–50 分 | PR 方向、差异与提交 |
| 50–60 分 | 同伴互查、离场题、登记与补做安排 |
控场与分流规则
- 阶段报数:每个检查点由助教分区报“完成 X/100,卡点类型”。建议达到 80 人就绪后继续讲,剩余由助教跟进;未达到则压缩选做内容或延后下一步。
- 两次讲解:先用主讲测试账号演示,再给全班操作时间;投影只显示示例凭据占位文字。
- 三分钟分流:安装、认证和网络问题超过 3 分钟进入助教队列;转网页路线或补做,避免拖停全班。
- 课后审核:同伴互查不是维护者审批;分批审核 100 个 PR,不未经检查全部合并。
- 如实统计:分别记录本地 Git 路线、网页路线、待补做;再区分待审核、需修改、已合并,不能混成一个完成率。
维护者的最小合并清单
- 目录名不冲突,文件只在该目录中,未改课程仓库说明或他人作品。
- 能用浏览器打开;README 可复现;没有无关大文件或凭据。
- 贡献来源清楚;保留项目许可与第三方声明。
- 有问题先写具体修改建议,确认后再合并;出现冲突由维护者与助教协助处理。
登记表只含部门、班级、姓名和空白核验栏,不预填任何学生个人信息。默认内部使用,不上传到公开仓库。网页无法自动读取学生 PR 状态,需要教师核验。
来源、许可与打开方式
- 本课主仓库:Se1yo-aipacino/se1yo,以 2026-10-20 读取的
060c60a版本及 Gitee 入门与开源协作整理为基础。 - 原活动参考:arivenhe/jmiopenatom-demo1;原文署名何治皓、李淑婕,视频署名范德鑫。原资料 MIT 署名为 Copyright (c) 2025 Arivenhe;许可全文见仓库 第三方资料声明。
- 概念与命令核对:Git Clone 官方文档、Git Push 官方文档;认证以 Gitee 当前官方帮助和本人账号设置为准。
- 课程衔接参考:用户提供的《开放原子开源社团_Gitee与Git入门_60分钟整合版》PPT。本页的 90 分钟实操课、目录命名和人员安排为新策划,不替代原活动规则。
- 品牌:使用社团提供的原始横版 Logo,保持比例、配色与文字,不重绘。图 1–7 均为教学示意,不是 Gitee 官方截图。
- 新增教学文字与示例代码沿用仓库 MIT 许可(2026 桂国威);社团 Logo 作为用户提供的品牌素材,不因教程 MIT 许可而另行授权商标使用。