特别分享:聊聊Git
本文目录:
- 一、 **Git 核心概念**
- (一)三个区域
- (二)分支本质
- 二、**日常开发流程**
- (一)初始化与克隆
- (二) 基础操作
- (三) 分支管理
- (四)远程协作
- 三、 **实用场景解决方案**
- 场景1:撤销操作
- 场景2:解决合并冲突
- 场景3:团队协作流程
- 四、 **高效技巧**
- (一)提交信息规范
- (二)查看信息
- (三) 临时保存
- 五、 **重要注意事项**
- (一)安全规则
- (二)冲突预防
- 六、 **完整工作流示例**
- 七、 **记住核心原则**
前言:本文总结 Git 的完整用法,从基础到进阶—
一、 Git 核心概念
Git (常见托管平台:GitHub 、 Gitee)是一款分布式版本控制系统,它通过快照方式记录文件历史,支持本地分支、并行开发、快速合并与回滚,是现代软件团队协作的事实标准(最常用)。
Git/GitHub/Gitee三者关系:
类比:
Git ≈ Word 软件
GitHub ≈ 微软 OneDrive(国外)
Gitee ≈ 百度网盘(国内)
Word 文件放哪家网盘,它还是 Word 文件。
(一)三个区域
- 工作区:你直接编辑文件的地方
- 暂存区:准备提交的更改 (
git add
) - 版本库:永久存储的地方 (
git commit
)
(二)分支本质
- 分支是指向提交的指针
- 所有分支共享同一套物理文件
- 切换分支时文件内容自动更换
二、日常开发流程
(一)初始化与克隆
git init # 初始化新仓库
git clone <url> # 克隆远程仓库
(二) 基础操作
git status # 查看状态
git add <file> # 添加文件到暂存区
git add . # 添加所有更改
git commit -m "消息" # 提交更改
git log --oneline # 查看提交历史
(三) 分支管理
git branch # 查看分支
git switch <分支名> # 切换分支
git switch -c <新分支> # 创建并切换分支
git merge <分支名> # 合并分支
git branch -d <分支名> # 删除分支
(四)远程协作
git push -u origin <分支> # 首次推送并建立跟踪
git push # 后续推送(简化)
git pull # 拉取远程更新
git fetch # 获取远程信息但不合并
三、 实用场景解决方案
场景1:撤销操作
# 撤销未暂存的修改
git checkout -- <file>
git restore <file> # 新命令# 撤销已暂存未提交的更改
git reset HEAD <file># 撤销已提交的更改(安全)
git revert HEAD# 彻底回退(危险)
git reset --hard HEAD~1
场景2:解决合并冲突
- 执行
git merge
或git rebase
出现冲突 - 手动编辑冲突文件(删除
<<<<<<<
,=======
,>>>>>>>
) git add
标记冲突已解决git commit
完成合并
场景3:团队协作流程
# 1. 基于dev创建功能分支
git switch dev
git switch -c feature/新功能# 2. 开发并提交
git add .
git commit -m "feat: 新功能"# 3. 推送到远程
git push -u origin feature/新功能# 4. 在GitHub创建PR,审查后合并
四、 高效技巧
(一)提交信息规范
feat: 新功能
fix: 修复bug
docs: 文档更新
style: 代码格式
refactor:重构
test: 测试相关
(二)查看信息
git log --oneline --graph --all # 图形化查看历史
git diff # 查看工作区更改
git diff --staged # 查看暂存区更改
(三) 临时保存
git stash # 临时保存工作现场
git stash pop # 恢复工作现场
五、 重要注意事项
(一)安全规则
- 不要对共享分支使用
git push -f
- 先
git pull
再git push
- 谨慎使用
git reset --hard
- 定期备份重要分支
(二)冲突预防
- 开发前先更新本地分支:
git pull origin dev
- 功能分支定期合并dev的更新
- 保持提交小而专注
六、 完整工作流示例
# 开始新功能
git switch dev
git pull origin dev
git switch -c feature/login# 开发过程
echo "代码" > login.js
git add login.js
git commit -m "feat: 登录页面"# 完成功能
git push -u origin feature/login
# 然后在GitHub创建PR → 审查 → 合并
七、 记住核心原则
- 提交前检查:
git status
+git diff
- 频繁提交:小步快跑,不要积累大量更改
- 清晰描述:提交信息要说清为什么改
- 分支策略:功能分支开发,主分支稳定
今日的第一篇分享到此结束。