一、Git 基础
1. 安装与初始配置
# 安装后第一次配置(全局)
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
# 查看配置
git config --list
2. 基础仓库操作
# 1. 初始化本地仓库
git init
# 2. 查看文件状态
git status
# 3. 添加文件到暂存区
git add 文件名 # 添加单个
git add . # 添加所有
# 4. 提交到本地仓库
git commit -m "提交说明"
# 5. 查看提交日志
git log
git log --oneline # 简洁版
3. 关联远程仓库(GitHub/Gitee/GitLab)
# 关联远程仓库
git remote add origin 仓库地址
# 推送到远程
git push -u origin main # 第一次推送
git push # 之后直接用
4. 拉取与克隆
# 克隆别人的仓库
git clone 仓库地址
# 拉取远程最新代码
git pull
二、Git 核心:工作区、暂存区、版本库
这是 Git 最重要的概念,必须理解:
- 工作区:你电脑里写代码的文件夹
- 暂存区 :
git add后存放的区域 - 版本库 :
.git文件夹,存储所有提交记录
命令对应关系:
工作区 → git add → 暂存区 → git commit → 版本库
三、分支管理(开发必备)
1. 基础分支命令
# 查看所有分支
git branch
# 创建分支
git branch 分支名
# 切换分支
git checkout 分支名
# 或新版命令
git switch 分支名
# 创建并切换
git checkout -b 分支名
git switch -c 分支名
2. 合并分支
# 切换到主分支
git switch main
# 合并 dev 分支到 main
git merge dev
3. 删除分支
# 删除已合并分支
git branch -d 分支名
# 强制删除未合并分支
git branch -D 分支名
四、撤销与回退(高频使用)
1. 撤销工作区修改(未 add)
git checkout -- 文件名
git restore 文件名 # 新版推荐
2. 撤销暂存区(已 add 未 commit)
git reset HEAD 文件名
git restore --staged 文件名
3. 回退到历史版本
# 回退到上一个版本
git reset --hard HEAD^
# 回退到指定版本(用 git log 查哈希值)
git reset --hard 版本号
4. 后悔回退(找回丢失版本)
git reflog # 查看所有操作记录
git reset --hard 版本号
五、进阶:Git 高级技巧
1. stash 临时保存(未写完代码想切换分支)
# 保存当前未提交代码
git stash
# 查看保存记录
git stash list
# 恢复最近一次保存
git stash pop
# 清空所有 stash
git stash clear
2. cherry-pick 挑选单个提交合并
git cherry-pick 提交哈希值
3. rebase 变基(让提交记录更干净)
rebase = 把你的提交 "移动" 到最新主分支上
git switch dev
git rebase main
企业开发常用,比 merge 更整洁。
4. tag 版本打标签
# 创建标签
git tag v1.0.0
# 推送到远程
git push origin v1.0.0
六、冲突解决(必会)
冲突出现场景
- 多人修改同一行代码
- 合并分支时
冲突文件样子
plaintext
<<<<<<< HEAD
当前分支代码
=======
合并过来的代码
>>>>>>> dev
解决步骤
- 手动编辑文件,删除符号,保留正确代码
git add .git commit -m "解决冲突"- 完成合并 / 变基
七、团队标准 Git 工作流(企业通用)
最常用:Git Flow 简化版
main:线上稳定版本dev:开发分支- 功能分支:从 dev 拉出,开发完合并回 dev
- 上线前合并到 main
开发流程命令
# 1. 拉取最新 dev
git switch dev
git pull
# 2. 创建功能分支
git switch -c feature/user-login
# 3. 开发、提交、推送
git add .
git commit -m "完成登录功能"
git push -u origin feature/user-login
# 4. 合并回 dev
git switch dev
git merge feature/user-login
git push
八、Git 避坑指南(高频错误)
- 不要在 main 分支直接开发
- 提交前必须 git pull 拉最新代码
- 冲突不要慌,手动改完再提交
- 不要提交 node_modules、.env 等文件
- 用
.gitignore忽略不需要提交的文件
九、速查命令表(建议收藏)
表格
| 功能 | 命令 |
|---|---|
| 初始化 | git init |
| 添加 | git add . |
| 提交 | git commit -m "msg" |
| 状态 | git status |
| 日志 | git log |
| 新建分支 | git branch 名 |
| 切换分支 | git switch 名 |
| 合并 | git merge 名 |
| 暂存 | git stash |
| 回退 | git reset --hard 版本号 |
总结
- 基础 :
init/add/commit/status/log/pull/push - 分支 :
branch/switch/merge - 撤销 :
restore/reset/stash - 进阶 :
rebase/cherry-pick/tag - 团队:功能分支开发 + 合并提测