Git 本地开发分支常见操作指南
# Git 本地开发分支常见操作指南
# 场景说明
假设:
huabei:团队开发分支dev:自己本地开发分支
日常开发中,经常会遇到:
- 别人往
huabei提交了代码 - 自己在
dev上开发 - 需要同步最新代码
- 不想丢失自己的修改
- 不想产生多余 merge commit
# 一、查看当前分支
git branch
1
当前分支前面会有 *
例如:
* dev
huabei
1
2
2
# 二、同步远程最新代码
先更新团队分支:
git checkout huabei
git pull
1
2
2
这样本地 huabei 就是最新的。
# 三、把 huabei 最新代码同步到 dev
# 方式 1:merge(最稳)
git checkout dev
git merge huabei
1
2
2
# 特点
- 保留双方提交历史
- 安全
- 容易理解
- 会产生 merge commit
# 提交记录效果
A---B---C
\ \
D----E----M
1
2
3
2
3
M 就是 merge commit。
# 方式 2:rebase(推荐个人开发分支)
git checkout dev
git rebase huabei
1
2
2
# 特点
- 提交历史干净
- 不会产生 merge commit
- 更适合个人开发分支
# 提交记录效果
A---B---C---D'---E'
1
看起来像:
你的开发是基于最新代码进行的。
# 四、merge 和 rebase 区别
| 对比 | merge | rebase |
|---|---|---|
| 是否产生 merge commit | 会 | 不会 |
| 是否改写历史 | 不会 | 会 |
| 是否安全 | 高 | 中 |
| 提交记录 | 分叉 | 线性 |
| 推荐场景 | 团队协作 | 个人开发 |
# 五、如何查看是否同步成功
# 方法 1:查看差异(推荐)
查看 dev 是否已经包含 huabei:
git diff dev..huabei
1
# 结果
无输出:
说明 dev 已同步 huabei
1
有输出:
说明还有代码没同步
1
# 方法 2:查看提交图
git log --oneline --graph --all
1
可以看到:
- merge 记录
- rebase 后的线性记录
# 方法 3:查看某个 commit 是否存在
先看 huabei 最新提交:
git log huabei --oneline -1
1
例如:
abc123 修复首页bug
1
查看 dev 是否包含:
git branch --contains abc123
1
输出包含:
dev
1
说明已经同步。
# 六、开发中最常见的问题
# 1. merge 后出现冲突
Git 提示:
CONFLICT (content)
1
查看冲突文件:
git status
1
文件会出现:
<<<<<<< HEAD
自己的代码
=======
别人的代码
>>>>>>> huabei
1
2
3
4
5
2
3
4
5
手动修改后:
git add .
git commit
1
2
2
完成冲突处理。
# 2. rebase 冲突处理
解决冲突后:
git add .
git rebase --continue
1
2
2
取消 rebase:
git rebase --abort
1
# 3. 本地代码未提交,不敢同步
先临时保存:
git stash
1
同步完成后恢复:
git stash pop
1
# 七、推荐开发流程(最佳实践)
# 日常开发推荐
# 1. 更新团队分支
git checkout huabei
git pull
1
2
2
# 2. 切回自己开发分支
git checkout dev
1
# 3. 同步最新代码(推荐 rebase)
git rebase huabei
1
# 4. 开始开发
git add .
git commit -m "功能开发"
1
2
2
# 八、不推荐的危险操作
# reset --hard
git reset --hard huabei
1
会:
- 覆盖当前分支
- 丢失未保存代码
除非明确知道后果,否则不要使用。
# 九、推荐命令速查
# 更新团队分支
git checkout huabei
git pull
1
2
2
# merge 同步
git checkout dev
git merge huabei
1
2
2
# rebase 同步(推荐)
git checkout dev
git rebase huabei
1
2
2
# 查看是否同步成功
git diff dev..huabei
1
# 查看提交图
git log --oneline --graph --all
1
# 暂存当前修改
git stash
1
恢复:
git stash pop
1
编辑 (opens new window)
上次更新: 2026/05/11, 8:05:00