git-workshop/README.md

155 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Git 协作规范实战演练 (Git Workshop)
欢迎来到 Git 实战演练项目!🎉
本项目旨在通过实际操作,帮助大家熟悉部门的 [Git 版本控制与协作规范]。请按照以下步骤,在本项目中完成你的代码提交任务。
## 🎯 演练目标
1. 掌握 **Feature 分支** 的命名与创建。
2. 练习 **Java/代码命名规范**
3. 掌握 **Commit Message** 的标准格式。
4. **重点**:养成 Push 前 `git pull --rebase` 的肌肉记忆。
5. 熟悉 **Pull Request (PR)** 流程。
---
## 🚀 任务流程
请按顺序执行以下步骤:
### 1. 准备工作
首先,克隆仓库并切换到开发主干 `develop`
```bash
git clone <仓库地址>
cd git-workshop
git checkout develop
git pull origin develop
```
### 2. 创建你的功能分支
根据规范分支命名格式为feat/<issue-id>-<description>。 本次演练假设任务 ID 为 101请用你的名字拼音作为描述。
示例:如果你的名字是夏小芮(Xia xiaorui)
```Bash
# 格式feat/training-<your_name>
git checkout -b feat/training-xxr
```
### 3. 创建个人工作区与代码
为了避免演练冲突,请在 participants 目录下创建一个以你名字命名的文件夹。
创建目录participants/xxr/
创建文件:在该目录下创建一个 Java 类文件,例如 UserDetail.java。
📝 编码规范要求 (请严格遵守)
类名:大驼峰 (e.g., UserDetail)
方法名:小驼峰 (e.g., getUser)
缩进4 个空格 (严禁使用 Tab)
括号K&B 风格 (左大括号不换行)
代码示例:
```Java
package participants.xxr;
public class UserDetail {
private String userName;
public String getUser(int id) {
if (id <= 0) {
return "Unknown";
}
return this.userName;
}
}
```
### 4. 提交代码 (Commit)
将文件添加到暂存区并提交。请遵循 Conventional Commits 规范。
格式:`<type>(<scope>): <subject>`
```Bash
git add .
git commit -m "feat(training): add zhangsan user detail implementation"
```
⚠️ 注意Commit Message 必须全英文Subject 使用祈使句,结尾不要加句号。
### 5. 同步代码 (关键步骤!)
在你开发的过程中develop 分支可能已经有了别人的提交。为了保持提交历史整洁(线性历史),在 Push 之前,必须 进行 Rebase。
```Bash
# 1. 先切换回 develop 拉取最新代码 (是一个好习惯,或者直接 fetch)
git fetch origin develop
# 2. 确保你在你的功能分支上
git checkout feat/training-zhangsan
# 3. 执行变基 (Rebase)
git rebase origin/develop
```
如果出现冲突 (Conflict)
手动修改冲突文件。
```Bash
git add <冲突文件>
git rebase --continue
```
绝对禁止 在此处使用 git merge这会产生无意义的 Merge Commit 节点。
### 6. 推送与提交 PR
代码同步并测试无误后,推送到远程仓库。
```Bash
git push origin feat/training-xxr
```
最后一步:
打开 Git 仓库网页 (GitLab/GitHub)。
创建一个 Pull Request (Merge Request)。
源分支feat/training-xxr
目标分支develop
在描述中引用关联 Issue本次演练可忽略
邀请 Tech Lead 进行 Code Review。
# ✅ 自查清单 (Checklist)
在提交 PR 前,请自我检查:
- [ ] 分支名是否小写?(e.g., feat/...)
- [ ] 代码缩进是否为 4 空格?左大括号是否没换行?
- [ ] Commit Message 是否符合格式?(e.g., feat(scope): ...)
- [ ] 是否执行了 Rebase 操作? (历史记录是否是一条直线?)
Happy Coding! 💻