校内 Git 服务的登录方式、权限与配额以官方说明为准,本文只讲通用用法和判断方法。
版本管理与校内 GitLab
Git 解决的是一个非常具体的问题:当一份文件被改了三十次、还被三个人同时改过,你怎么知道哪一版是对的、以及怎么退回去。
先记住这一条就够:本地敲 git status,收工前敲 git push。其余命令可以边用边查。
为什么现在就该学
本节:为什么现在就该学| 场景 | 具体会发生什么 |
|---|---|
| 课程大作业 | 三个人改同一份代码,靠微信传压缩包,最后谁的版本都不完整。用 Git 后,合并是一次操作,冲突有明确提示。 |
| 实验与程序课 | 调通了一版,继续改之后又崩了,回不到刚才那版——这是没有版本控制的典型损失。 |
| 进实验室 | 师兄师姐给你的代码大概率在 Git 仓库里。不会 clone,你连第一步都迈不出去。 |
| 写论文/毕设 | 论文、代码、数据版本对不上,是复现失败的最常见原因。 |
| 实习 | 几乎每份研发实习都默认你会用 Git,面试也会问。 |
马上能做的
本节:马上能做的- 装好 Git(下载慢的话先在清华镜像站里找找有没有对应的镜像),配置好用户名和学校邮箱。
- 在校内 GitLab上建一个私有仓库,把一门课的代码传上去,完整走一遍 clone → 改 → add → commit → push。
- 给这个仓库加一个
.gitignore,把数据文件、编译产物、含密码的配置文件排除掉。 - 故意建一个分支、改一行、再合并回来,感受一次分支是什么。
- 把「动手前先
git status」变成肌肉记忆。
最小可用路径
本节:最小可用路径第 1 步:理解三个区域,一切就都清楚了
本节:第 1 步:理解三个区域,一切就都清楚了Git 的所有命令,本质都是在在这三个区域之间搬东西:
| 区域 | 是什么 | 相关命令 |
|---|---|---|
| 工作区 | 你正在编辑的文件 | 你直接用编辑器改 |
| 暂存区 | 你挑出来“这次要提交”的改动 | git add |
| 版本库 | 已经存成快照的历史 | git commit |
远端仓库(校内 GitLab 或 GitHub)是第四个位置:git push 送上去,git pull 拉下来。
第 2 步:这十条命令够你用一整个学期
本节:第 2 步:这十条命令够你用一整个学期| 命令 | 作用 | 什么时候敲 |
|---|---|---|
git clone <地址> |
把远端仓库整个拷到本地 | 第一次拿到项目 |
git status |
看现在有哪些改动、在哪个分支 | 每次操作前,最该养成的习惯 |
git add <文件> |
把改动放进暂存区 | 提交之前 |
git commit -m "说明" |
生成一个版本快照 | 做完一件小事就提交,不要攒一天 |
git log --oneline |
看历史提交列表 | 想知道“什么时候改坏的” |
git diff |
看具体改了哪几行 | commit 前自查 |
git pull |
把别人的改动拉下来 | 每天开工第一件事 |
git push |
把本地提交传到远端 | 每天收工最后一件事 |
git switch -c <分支名> |
新建并切到一个分支 | 做实验性改动、多人分工时 |
git merge <分支名> |
把分支合并回当前分支 | 一个功能做完 |
第 3 步:明确哪些东西不该进仓库
本节:第 3 步:明确哪些东西不该进仓库下面这些一旦提交,清理起来很麻烦(历史里会一直留着):
- 数据文件、模型权重、压缩包:仓库是给文本用的,大文件会让 clone 变得极慢。
- 密码、访问令牌、密钥文件:等同把家门钥匙贴在门上。
- 编译产物、缓存、依赖目录:能重新生成的都不要提交。
- 别人的代码、未公开的数据:先确认你有没有权利放进去。
把它们写进 .gitignore 是建仓库后的第一件事,不是“以后再整理”。
第 4 步:遇到冲突不要慌
本节:第 4 步:遇到冲突不要慌冲突的本质是“同一行被两边改成了不同内容”,Git 不敢替你决定。处理顺序:
- 打开被标记的文件,找到
<<<<<<<和>>>>>>>之间的两段内容。 - 决定保留哪一段(或者两段都改写成第三种写法)。
- 删掉那些标记符号,保存。
git add这个文件,然后git commit。
校内 GitLab 与 GitHub 的分工
本节:校内 GitLab 与 GitHub 的分工两个都是 Git 平台,用法基本一样,区别在于给谁看、放在哪:
| 校内 GitLab | GitHub | |
|---|---|---|
| 主要用途 | 课程项目、实验室内部代码、需要私有仓库的东西 | 开源项目、个人作品集、实习与申请时给别人看 |
| 账号体系 | 校内账号体系(登录方式以站点说明为准) | 自建账号 |
| 访问 | 校园网内直连;不在校内时可能需要通过学校 VPN | 从境内访问的稳定性视网络情况而定 |
| 适合放 | 课程作业、组内代码、不想公开的东西 | 能公开的技术积累、简历上想展示的项目 |
建议的做法:重要的东西两边都放一份,或者至少在校内平台上有一份完整的。把唯一的一份代码放在一个你无法保证随时访问的地方,是没必要的风险。
常见坑
本节:常见坑延伸阅读
本节:延伸阅读- Pro Git 中文版 —— Git 的官方书,免费。当字典用:遇到“撤销提交”“找回删掉的分支”这类问题再翻对应章节,不要从头读。
- Learn Git Branching —— 在浏览器里用可视化的方式练分支和合并,不用装任何东西。分支概念绕不过来时,玩半小时比看十篇文章有用。
- Missing Semester 中文版 —— 把终端、Git、脚本串成一节课讲,适合想一次补齐基础工具的人。
- 计算机系学生科协技能引导文档 —— 里面有一篇更偏操作细节的 Git 入门,装软件、配置、常见操作都可以对照着看。
免责声明:本站是学生自发整理的经验分享,不代表清华大学官方立场。涉及培养方案、选课规则、绩点计算、保研政策等一切制度性内容, 请以教务、院系和学校官方通知为准。
发现内容有误、过期,或想补充一篇经验帖?欢迎到GitHub Issues提出,或直接编辑对应页面提交 PR。
维护者入口:站内后台—— GitHub 登录后可改文字 / 传图 / 嵌视频,保存会自动开 PR,合并后上线。
© 2026 清华生存指南 · 内容采用 CC BY-NC-SA 4.0 许可 · 由一群学长学姐共同维护