【工作】-git工作中常用的场景开发指南,看这篇工作基本够用了
git statusgit add .git pullgit pushclone↓创建分支↓开发↓add↓commit↓push↓↓↓merge版本管理团队协作代码历史。
·
一、Git 的核心概念(先理解模型)
Git 的工作结构可以理解为 4 层:
远程仓库 (Remote)
↑↓
本地仓库 (Repository)
↑
暂存区 (Stage)
↑
工作区 (Workspace)
解释:
- 工作区:你写代码的地方
- 暂存区:准备提交的代码
- 本地仓库:你的版本历史
- 远程仓库:团队共享仓库
二、Git 开发基本流程
完整流程:
clone代码
↓
创建分支
↓
写代码
↓
git add
↓
git commit
↓
git push
↓
发起合并请求
↓
代码评审
↓
合并到主分支
三、第一次使用 Git
配置身份:
git config --global user.name "yourname"
git config --global user.email "your@email.com"
查看配置:
git config --list
四、获取项目代码
从服务器下载项目:
git clone git@server:project.git
目录结构:
project/
├─ .git
├─ src
├─ include
└─ README.md
进入项目:
cd project
五、创建开发分支(重要)
一般不直接在 main 或 master 上开发。
创建分支:
git checkout -b feature_uart
等价:
git branch feature_uart
git checkout feature_uart
查看分支:
git branch
六、日常开发流程
1 写代码
修改文件:
src/uart.c
2 查看修改
git status
输出:
modified: src/uart.c
3 添加到暂存区
git add src/uart.c
或者:
git add .
4 提交版本
git commit -m "add uart driver"
生成一个 commit。
七、提交到远程仓库
第一次 push:
git push origin feature_uart
以后:
git push
远程就会有:
feature_uart
八、代码合入流程(团队开发)
通常流程:
开发分支
↓
push
↓
Merge Request / Pull Request
↓
Code Review
↓
合并到 main
九、同步最新代码
团队成员会更新主分支。
获取更新:
git pull
或者:
git fetch
区别:
git pull = fetch + merge
十、合并分支
切换到主分支:
git checkout main
合并:
git merge feature_uart
十一、解决冲突
冲突例子:
<<<<<<< HEAD
old code
=======
new code
>>>>>>> feature_uart
手动修改。
然后:
git add .
git commit
十二、删除分支
开发完成:
删除本地分支:
git branch -d feature_uart
删除远程分支:
git push origin --delete feature_uart
十三、查看历史
查看提交:
git log
简洁模式:
git log --oneline
图形模式:
git log --graph --oneline --all
十四、撤销操作(非常常用)
撤销修改
git restore file.c
撤销 add
git reset HEAD file.c
撤销 commit
git reset --soft HEAD~1
十五、查看代码差异
查看修改:
git diff
查看暂存区:
git diff --cached
十六、常见开发场景
场景1:开发新功能
流程:
git checkout main
git pull
git checkout -b feature_xxx
开发代码
git add
git commit
git push
发起合并
场景2:修复 bug
main
└─ bugfix_xxx
流程:
git checkout main
git checkout -b bugfix_uart
修复问题
git commit
git push
合并
场景3:同步团队代码
git checkout main
git pull
场景4:暂存未完成工作
临时保存:
git stash
恢复:
git stash pop
十七、分支管理模型(推荐)
很多团队使用 Git Flow:
main 稳定版本
develop 开发主线
feature 功能开发
release 发布版本
hotfix 紧急修复
结构:
main
└─ develop
├─ feature_uart
├─ feature_spi
└─ feature_i2c
十八、提交信息规范
好的 commit:
fix: uart buffer overflow
feat: add spi driver
docs: update README
refactor: optimize memory usage
十九、Git 常用命令总结
查看状态:
git status
提交:
git add .
git commit -m "msg"
同步:
git pull
上传:
git push
分支:
git branch
git checkout -b new_branch
二十、工作中真实开发流程
嵌入式项目示例:
firmware
├─ bsp
├─ driver
├─ app
└─ middleware
开发流程:
拉代码
↓
创建feature分支
↓
开发
↓
commit
↓
push
↓
代码评审
↓
合并
↓
发布版本
二十一、几个重要原则
不要直接改 main
必须:
feature branch
commit 要小而清晰
不要:
一次提交100个文件
经常 pull
避免冲突。
总结
Git 在工作中的完整流程:
clone
↓
创建分支
↓
开发
↓
add
↓
commit
↓
push
↓
merge request
↓
code review
↓
merge
Git 本质解决三个问题:
版本管理
团队协作
代码历史
更多推荐
所有评论(0)