跳转到内容

校内 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 不敢替你决定。处理顺序:

  1. 打开被标记的文件,找到 <<<<<<< 和 >>>>>>> 之间的两段内容。
  2. 决定保留哪一段(或者两段都改写成第三种写法)。
  3. 删掉那些标记符号,保存。
  4. 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 许可 · 由一群学长学姐共同维护