Git 基础操作¶
这不是一篇 Git 教程,只列出传习社成员日常真正会用到的命令。完整语法请查阅 Git 官方文档。
第一次使用前:配置身份¶
Git 会在每次提交里记录提交人。第一次用 Git 之前必须先告诉它你是谁,否则 git commit 会直接失败:
配置一次,对这台机器上的所有仓库生效:
邮箱要和 GitLab 账号一致
user.email 填你在 GitLab 注册时使用的邮箱。GitLab 靠它把提交关联到你的账号——填错了,提交记录里不会显示你的头像和链接,也不会算进你的贡献。
邮箱以 注册与登录 中登记的为准。
确认是否生效:
如果只想对某个仓库生效,去掉 --global,并在该仓库目录内执行:
user.name 会显示在提交记录里,填真名或常用昵称都可以,只要团队成员能认出你。不要填 root、admin 这类无法辨认的名字。
顺便统一分支名
本站所有流程都假设主分支叫 main。在新机器上再执行一条,避免本地 git init 出来一个 master 分支:
常用命令¶
| 命令 | 作用 |
|---|---|
git clone <地址> |
把远程仓库复制到本地 |
git status |
查看当前有哪些改动 |
git add <文件> |
把改动加入本次提交 |
git commit -m "消息" |
生成一次提交 |
git pull |
拉取远程最新代码 |
git push |
把本地提交推送到远程 |
git switch <分支> |
切换到已有分支 |
git switch -c <分支> |
新建分支并切换过去 |
git switch 是较新的命令,等价于旧写法 git checkout。看到 git checkout -b 时不必困惑,两者作用相同。
第一次拿代码¶
如果不在校园网,改用 HTTPS 地址:
一个完整的小流程¶
下面的流程覆盖了「接到一个任务 → 提交代码 → 请求合并」的全过程。
# 1. 确认当前在 main,并同步最新代码
git switch main
git pull
# 2. 从 main 创建功能分支
git switch -c feat/example
# 3. 修改代码 ...
# 4. 查看改了什么
git status
git diff
# 5. 暂存并提交
git add .
git commit -m "feat: add example"
# 6. 推送分支到远程
git push -u origin feat/example
推送成功后,终端会输出一个链接。在浏览器打开该链接,或进入 GitLab 仓库页面点击 Create merge request,即可提交 Merge Request。
之后的步骤见 Issue 与 Merge Request。
关于直接 push main¶
不要直接向 main 分支 push
main 是项目的主分支,代表当前可用的稳定版本。直接 push 会绕过评审,一旦出问题会影响所有成员。
正确做法:从 main 新建 feat/* 或 fix/* 分支开发,推送后通过 Merge Request 合并。
如果你已经在本地 main 上提交了代码,可以先把改动挪到新分支,再恢复 main:
提交前建议¶
不提交哪些文件¶
不要提交以下内容:
- 大型 ZIP、视频、模型权重、数据集;
- 编译产物、依赖目录(如
node_modules/、dist/、__pycache__/); - 密码、Token、密钥、
.env等敏感文件。
在仓库根目录维护 .gitignore 来排除这些文件。示例:
如果误提交了敏感信息,仅删除文件并不够,历史记录中仍然存在。请联系社内负责人协助处理。