Skip to content

Git 日常开发与团队培训手册 ​

面向:迁仓后的日常开发,以及给同事做 Git 入门培训。
CI/CD 本册不展开,可后续另文。

阅读约定:命令块可直接复制;以 # 开头的是注释。


0. 先记住三条规矩 ​

  1. 优先直连 GitLab URL;只有本机 git 报 400 时,才开本机 HTTP 代理或 SSH 隧道。
  2. 不要往 main 上直接推日常改动(main 已保护):feature/xxx → 推送 → 网页 MR → 合并。
  3. 提交信息写清「为什么改」,方便后人查历史。
checkout main
+ pull
→
feature/任务
→
add / commit
→
push
▼
网页提 MR
→
Review
→
Merge
→
再 pull main

部分 Windows 安全软件会改写直连 80/22 的流量(HTTP 400、SSH 首包异常),而浏览器/PuTTY/curl 往往正常。同事先试直连;失败再上代理/隧道。


1. 环境准备(每人一次) ​

bat
git --version
git config --global user.name "你的名字"
git config --global user.email "你的邮箱@公司.com"
git config --global -l

选路 ​

路径何时用
A. HTTP 直连git ls-remote http://<HOST>/...git 成功
B. 本机 HTTP 代理直连 400:开代理 bat,设 http.proxy,仍用真实 URL
C. SSH 隧道开 SSH 隧道 bat,用 git@gitlab-local:... 或 ssh://git@127.0.0.1:端口/...

HTTP 需要 PAT:Preferences → Access Tokens(read_repository + write_repository)。
提示 Username 填 oauth2,Password 填 PAT(不是登录密码)。SSH 一般不用 PAT。


2. 分支与角色 ​

分支谁推用途
main一般不直接推稳定主线,靠 MR 合入
feature/<简述>Developer日常功能 / 修 bug
release/*、Tag v*Maintainer发布(培训可先不练)

命名示例:feature/fix-uart-dma、feature/IS-2331-refill。


3. 完整实操(建议跟做一遍) ​

A~E · 本地 ​

bat
git clone <仓库URL>
cd <仓库目录>
git checkout main
git pull origin main
git checkout -b feature/train-smoke-001

REM 改一点点文件后
git add -A
git commit -m "chore: 培训冒烟 - 验证 clone/分支/提交流程"
git push -u origin feature/train-smoke-001

若提示没有 git restore,用经典 git reset HEAD -- 文件 / git checkout -- 文件。建议 Git ≥ 2.23。

F · 提 Merge Request(网页) ​

  • Source = 你的 feature/*,Target = main(方向反了会审错)
  • Title:类型: 一句话目的(feat / fix / chore / docs / refactor)
  • Description 建议含:背景、改动说明、测试勾选、风险、关联 Issue
  • 建议勾选:合并后删除源分支

若提示 “contains no changes”:说明 feature 与 main 同一提交——本地补 commit + git push,不必关 MR。

审阅与打回 ​

作者 push → 提 MR
    ↓
审阅人看 Changes 行评 / Overview 总评
    ↓
  ┌─ 有问题 → 保持 Open → 作者同分支改完再 push → 再审
  └─ 通过   → Maintainer 点 Merge → Merged
    ↓
作者:checkout main → pull → 删本地 feature

打回 ≠ 关闭 MR。不要为改意见再开一条重复业务 MR。

G~H · 合并后同步 ​

bat
git checkout main
git pull origin main
git branch -d feature/train-smoke-001

4. 第二次及以后(最短路径) ​

bat
git checkout main
git pull origin main
git checkout -b feature/下一项任务简述
REM ……改代码……
git add -A
git status
git commit -m "fix: 一句话说明本次目的"
git push -u origin HEAD
REM 网页提 MR → 合并后再 checkout main && pull

5. 提交信息与课堂提纲 ​

格式:类型: 说明(可跟 Issue 号)

45~60 分钟课堂内容
10 min三条规矩 + 选路 + PAT
15 min每人 clone,看 log/status
15 min建 feature/train-姓名,commit,push
10 min提 MR;演示 Merge;互相 Review
5 min拉回 main,删分支;答疑

每人验收:会 clone、建 feature、commit/push、提 MR、合后 pull;知道不要直推 main、不要对保护分支 force push。


6. 常见问题 ​

现象处理
HTTP 400本机代理或改走 SSH 隧道
ssh git@HOST 立刻断开勿直连;走隧道别名
protected branch改推 feature/* 再 MR
non-fast-forward先 pull 再 push;勿随意 --force
同事直连正常、你不行多半是本机安全软件,不是仓库坏了

7. 一页纸口令 ​

text
【选路】先试 HTTP 直连;失败再代理 / SSH 隧道

【日常】
git checkout main && git pull
git checkout -b feature/任务简述
git add -A && git commit -m "类型: 说明"
git push -u origin HEAD
→ 网页提 MR → 合入 main
→ git checkout main && git pull

附件 · Cursor Skills 与系列文 ​

迁仓与部署相关 Skill 可下载:

附件说明
gitlab-local-skills.zip服务器部署 Skills
svn-to-git-skills.zipSVN 迁移 Skills
Skills索引.md全索引

系列博文:配置指南 → 命令手册 → SVN 迁移 → 本文(日常/培训)。