核心概念
Git 工作流基于三个区域:工作区(直接编辑文件)→ 暂存区(git add)→ 本地仓库(git commit)。
常用命令分类
基础配置 & 仓库初始化
# 用户信息配置(首次使用必须设置)
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
# 仓库操作
git init                          # 当前目录新建仓库
git clone <url>                   # 克隆远程仓库
git status                        # 检查当前状态(最常用!)
日常开发工作流
# 标准提交流程
git add .                         # 添加所有改动到暂存区
git add <特定文件>                # 添加指定文件
git commit -m "描述性提交信息"    # 提交到本地仓库
# 快捷操作
git commit -am "快速提交"         # 跳过 add 步骤(仅跟踪文件)
git log --oneline --graph -10     # 图形化查看最近 10 条历史
分支管理策略
# 分支操作
git branch                        # 查看本地分支
git branch -a                     # 查看所有分支(含远程)
git switch -c <新分支名>          # 创建并切换分支(推荐)
git checkout -b <新分支名>        # 传统方式创建分支
# 分支合并
git switch main                   # 切换回主分支  
git merge <功能分支>              # 合并功能分支
git branch -d <分支名>            # 删除已合并分支
远程仓库协作
# 推送与拉取
git push -u origin <分支名>       # 首次推送并建立追踪
git push                         # 后续简化推送
git pull                         # 拉取远程更新(推荐先 pull 再 push)
# 远程信息查看
git remote -v                    # 查看远程仓库地址
git fetch                       # 只获取不自动合并
实用场景解决方案
代码撤销与修复
# 撤销工作区修改(危险!不可恢复)
git restore <文件>               # 新命令,撤销未暂存修改
git checkout -- <文件>           # 传统方式撤销修改
# 撤销暂存区修改
git restore --staged <文件>      # 取消 add 操作
git reset HEAD <文件>            # 传统方式取消暂存
# 提交修正
git commit --amend -m "新信息"   # 修改上次提交信息
git commit --amend --no-edit     # 追加文件到上次提交
临时任务处理
# 暂存当前工作
git stash                        # 暂存所有修改
git stash -u                     # 包括未跟踪文件
git stash pop                    # 恢复最近暂存内容
git stash list                   # 查看所有暂存记录
冲突解决流程
- 编辑冲突文件(删除 
<<<<<<<,=======,>>>>>>>标记) git add <解决后的文件># 标记冲突已解决git commit# 完成合并提交
常用提交类型说明
| 类型 | 使用场景 | 示例 | 
|---|---|---|
feat | 新功能 | feat: 添加用户注册功能 | 
fix | Bug 修复 | fix: 修复登录页面闪退问题 | 
docs | 文档更新 | docs: 更新 API 使用说明 | 
style | 代码格式 | style: 调整代码缩进格式 | 
refactor | 重构代码 | refactor: 优化用户验证逻辑 | 
test | 测试相关 | test: 添加用户服务单元测试 | 
chore | 构建工具 | chore: 更新 webpack 配置 | 
perf | 性能优化 | perf: 优化图片加载速度 | 
个人定制化配置
常用别名设置(~/.gitconfig)
[alias]
    st = status
    co = checkout
    ci = commit
    br = branch
    lg = log --oneline --graph --decorate --all
    last = log -1 HEAD
    undo = reset --soft HEAD~1
    # 使用示例:git st, git lg, git undo
重要习惯提醒
- ✅ 提交前必看状态:
git status确认改动内容 - ✅ 推送前先拉取:
git pull避免冲突 - ✅ 功能开发用分支:保持 main 分支稳定
 - ✅ 重要操作前提交:为危险操作留退路
 
