Git完全实战手册 :前端工程团队协作必备技能
本文最后更新于 41 天前,其中的信息可能已经有所发展或是发生改变。

💡 核心价值:

  • 代码版本精准控制
  • 团队协作无缝衔接
  • 灾难恢复从容应对
  • 开发流程规范管理

✨ 你将掌握:

  • 20+核心操作命令
  • GitFlow工作流
  • 企业级最佳实践
  • 复杂场景解决方案

🚀 一、基础配置与高频操作

1.1 全局配置(首次使用必做)

# 配置用户信息
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

# 生成SSH密钥(GitHub/GitLab连接)
ssh-keygen -t ed25519 -C "your_email@example.com"

# 常用别名设置(.gitconfig)
[alias]
  st = status
  co = checkout
  br = branch
  ci = commit
  df = diff
  lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

1.2 日常开发四部曲

# 场景:开发新功能
git checkout -b feature/login   # 创建并切换分支
git add .                       # 添加修改
git commit -m "feat: 实现用户登录界面" # 语义化提交
git push -u origin feature/login # 推送分支

# 意外处理:撤销未提交的修改
git restore .                   # 撤销所有工作区修改
git restore --staged file.js    # 撤销暂存区指定文件

🌿 二、分支管理策略

2.1 GitFlow标准工作流

# 主分支(长期存在)
main     - 生产环境代码(保护分支)
develop  - 集成测试分支

# 辅助分支(临时分支)
feature/*  - 功能开发分支
release/*  - 预发布分支
hotfix/*   - 紧急修复分支

2.2 分支合并实战

# 合并分支(推荐)
git checkout develop
git merge --no-ff feature/login  # 保留合并记录

# 变基操作(整理提交历史)
git checkout feature/login
git rebase develop              # 将develop最新代码合并到当前分支
git rebase -i HEAD~3            # 交互式合并最近3个提交

# 冲突解决流程
<<<<<<< HEAD
当前分支内容
=======
合并分支内容
>>>>>>> branch-name
# 手动修改后执行:
git add .
git rebase --continue

🔧 三、高阶操作技巧

3.1 时光机操作

# 查看历史记录
git log --oneline --graph

# 回退到指定版本
git reset --hard HEAD~2        # 回退两个提交
git reset --soft HEAD@{1}      # 撤销reset操作

# 找回误删提交
git reflog                     # 查看所有操作记录
git cherry-pick <commit-hash>  # 复制指定提交到当前分支

3.2 提交规范与Hooks

# 提交信息规范(Angular规范)
feat: 添加新功能
fix: 修复bug
docs: 文档更新
style: 代码格式调整
refactor: 代码重构
test: 测试用例
chore: 构建配置修改

# Git钩子示例(.git/hooks/pre-commit)
#!/bin/sh
npm run lint  # 提交前执行代码检查

🛠️ 四、企业级解决方案

4.1 多仓库协作

# 添加远程仓库
git remote add upstream https://github.com/org/repo.git

# 同步主仓库更新
git fetch upstream
git rebase upstream/main

# 强制覆盖本地分支
git reset --hard upstream/main

4.2 CI/CD集成示例

# GitHub Actions配置
name: CI
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Use Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 18.x
      - run: npm install
      - run: npm run build

🚨 五、常见问题排雷

5.1 紧急故障处理

场景 解决方案
提交了敏感信息 git filter-branch 清除历史
误删未提交代码 git fsck --lost-found 找回
提交到错误分支 git stash + cherry-pick

5.2 大型仓库优化

# 仓库瘦身(删除历史大文件)
git filter-branch --force --index-filter 
  "git rm --cached --ignore-unmatch PATH_TO_FILE" 
  --prune-empty --tag-name-filter cat -- --all

# 浅克隆加速
git clone --depth 1 https://github.com/org/repo.git

🔗 推荐资源:

📦 效率工具:

bashCopy Code# 图形化工具
brew install gitkraken   # Mac
winget install GitKraken # Windows
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇