Skip to content

前端代码管理与协作指南

代码管理不仅仅是使用 Git,更包含了分支策略、代码规范、提交规范以及大型项目的 Monorepo 治理。

1. 版本控制系统 (VCS)

Git 核心概念

  • Workspace: 工作区
  • Index/Stage: 暂存区
  • Local Repository: 本地仓库
  • Remote Repository: 远程仓库

常用高频命令

bash
# 修改历史提交 (仅限未 push 的 commit)
git commit --amend

# 撤销暂存区文件 (Unstage)
git reset HEAD <file>

# 挑选特定 commit 合并到当前分支
git cherry-pick <commit-hash>

# 暂存当前更改,用于临时切换分支
git stash / git stash pop

2. 分支管理策略 (Branching Models)

Git Flow

经典模型,适合版本发布周期固定的项目。

  • master: 生产环境代码。
  • develop: 开发主分支。
  • feature/: 功能分支,从 develop 切出,合回 develop。
  • release/: 发布分支,用于测试和产生版本号。
  • hotfix/: 紧急修复分支,从 master 切出。

Trunk Based Development (主干开发)

现代持续集成推荐模式,适合快速迭代。

  • 只有一个主分支 (main/trunk)。 -Feature 分支寿命极短,通常在一天内合并。
  • 依赖 Feature Toggles (功能开关) 来隐藏未完成的功能,而不是长期存在的 feature 分支。

3. 代码规范 (Linting & Formatting)

工具链

  • ESLint: 捕获代码质量问题 (如未使用变量,死循环)。
  • Prettier: 统一代码风格 (缩进、单双引号、尾逗号)。
  • EditorConfig: 统一编辑器配置。

提交钩子 (Git Hooks)

使用 husky + lint-staged 在 commit 前自动检查。

json
// package.json
"lint-staged": {
  "*.{js,ts,vue}": [
    "eslint --fix",
    "prettier --write"
  ]
}

4. 提交规范 (Commit Convention)

遵循 Conventional Commits 规范,便于生成 ChangeLog。 格式:<type>(<scope>): <subject>

  • feat: 新功能
  • fix: 修复 Bug
  • docs: 文档修改
  • style: 格式修改(不影响代码运行)
  • refactor: 重构(既不是新增功能也不是修改 bug)
  • perf: 性能优化
  • test: 测试代码
  • chore: 构建过程或辅助工具变动

5. Monorepo (单仓库管理)

将多个项目(如前端 app、组件库、后端 api)放在同一个 Git 仓库中管理。

优势

  • 代码共享方便 (shared packages)。
  • 统一的工作流和依赖管理。
  • 原子化提交 (Atomic Commits)。

工具

  • Workspace (npm/yarn/pnpm): 基础依赖链接。
  • Lerna: 传统的版本发布管理工具。
  • Turborepo: 高性能构建工具,支持缓存。
  • Nx: 功能强大的全栈 Monorepo 框架。

MIT Licensed | Keep Learning.