初级程序员必备的十大技能之 Git 版本控制(三)

简介: 教程来源 http://qcycj.cn Git分支是并行开发的核心利器,本质为轻量指针,创建零成本。支持便捷的创建、切换、合并(快进/三方/冲突)、rebase变基及规范工作流,助力团队高效协作与清晰历史管理。

四、分支管理:并行开发的利器

分支是 Git 最强大的特性。创建分支的成本几乎为零,鼓励开发者频繁创建分支。

4.1 分支的本质

Git 的分支本质上只是一个指向某个提交的指针。

          main
            ↓
A ← B ← C ← D
      ↑
    feature
# 查看分支
git branch                # 本地分支
git branch -r             # 远程分支
git branch -a             # 所有分支(本地+远程)
git branch -v             # 分支 + 最后一次提交

# 创建分支
git branch feature-login  # 创建分支,但不切换
git checkout -b feature-login  # 创建并切换到新分支
git switch -c feature-login    # Git 2.23+ 的新写法

# 切换分支
git checkout main
git switch main           # 新写法

# 删除分支
git branch -d feature-login     # 删除已合并的分支
git branch -D feature-login     # 强制删除(即使未合并)

# 重命名分支
git branch -m old-name new-name

4.2 合并分支

# 场景:将 feature 分支合并到 main

# 1. 切换到目标分支
git checkout main

# 2. 合并
git merge feature-login

# 3. 如果出现冲突,解决后提交

合并的三种情况
情况1:Fast-forward(快进合并)

合并前:
main:     A ← B
feature:  A ← B ← C ← D

合并后:
main:     A ← B ← C ← D  (main 指针直接移动到 D)
# 自动使用快进合并(如果可以)
git merge feature

# 强制禁用快进合并(保留分支历史)
git merge --no-ff feature

情况2:三方合并(Auto-merge)

main:     A ← B ← E
feature:  A ← B ← C ← D

合并后:
main:     A ← B ← E ← F (新的合并提交)
              ↖   ↗
                C ← D

情况3:冲突合并

当两个分支修改了同一个文件的同一区域时,Git 无法自动合并,需要手动解决。

# 合并时出现冲突
$ git merge feature
Auto-merging src/index.js
CONFLICT (content): Merge conflict in src/index.js
Automatic merge failed; fix conflicts and then commit the result.

# 查看冲突文件
git status

# 冲突文件的内容
<<<<<<< HEAD
console.log("这是 main 分支的代码");
=======
console.log("这是 feature 分支的代码");
>>>>>>> feature

# 解决冲突后
git add src/index.js
git commit -m "解决合并冲突"

4.3 Rebase:变基操作
Rebase 可以让提交历史更线性、更干净。

# 将 feature 分支的修改"移动"到 main 分支的最新提交之后
git checkout feature
git rebase main

# 交互式 rebase(合并、修改、删除提交)
git rebase -i HEAD~3  # 对最近3个提交进行操作

Rebase 的原理:

Rebase 前:
main:     A ← B ← C
feature:  A ← B ← D ← E

Rebase 后:
main:     A ← B ← C
feature:  A ← B ← C ← D' ← E'

# 原本基于 B 的 D 和 E,现在基于 C 创建了新的提交 D' 和 E'

merge vs rebase 对比:
image.png
黄金法则:不要在公共分支上使用 rebase!(只 rebase 自己本地的分支)

4.4 分支工作流实战

# 1. 开始新功能
git checkout main
git pull origin main
git checkout -b feature/payment

# 2. 开发过程中定期提交
git add .
git commit -m "实现支付接口"
git push origin feature/payment  # 推送到远程备份

# 3. 开发完成后,合并前更新 main
git checkout main
git pull origin main
git checkout feature/payment
git rebase main  # 或 git merge main

# 4. 合并到 main
git checkout main
git merge --no-ff feature/payment

# 5. 推送并删除分支
git push origin main
git branch -d feature/payment
git push origin --delete feature/payment

来源:
http://oieaw.cn

相关文章
|
16天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23518 12
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
3天前
|
Shell API 开发工具
Claude Code 快速上手指南(新手友好版)
AI编程工具卷疯啦!Claude Code凭借任务驱动+终端原生的特性,成了开发者的效率搭子。本文从安装、登录、切换国产模型到常用命令,手把手带新手快速上手,全程避坑,30分钟独立用起来。
1201 7
|
5天前
|
人工智能 BI 持续交付
Claude Code 深度适配 DeepSeek V4-Pro 实测:全场景通关与真实体验报告
在 AI 编程工具日趋主流的今天,Claude Code 凭借强大的任务执行、工具调用与工程化能力,成为开发者与自动化运维的核心效率工具。但随着原生模型账号稳定性问题频发,寻找一套兼容、稳定、能力在线的替代方案变得尤为重要。DeepSeek V4-Pro 作为新一代高性能大模型,提供了完整兼容 Claude 协议的 API 接口,只需简单配置即可无缝驱动 Claude Code,且在任务执行、工具调用、复杂流程处理上表现极为稳定。
1364 3
|
9天前
|
人工智能 缓存 Shell
Claude Code 全攻略:命令大全 + 实战工作流(完整版)
Claude Code 是一款运行在终端环境下的 AI 编码助手,能够直接在项目目录中理解代码结构、编辑文件、执行命令、执行开发计划,并支持持久化记忆、上下文压缩、后台任务、多模型切换等专业能力。对于日常开发、项目维护、快速重构、代码审查等场景,它可以大幅减少手动操作、提升编码效率。本文从常用命令、界面模式、核心指令、记忆机制、图片处理、进阶工作流等维度完整说明,帮助开发者快速上手并稳定使用。
2508 4
|
3天前
|
人工智能 JSON BI
DeepSeek V4-Pro 接入 Claude Code 完全实战:体验、测试与关键避坑指南
Claude Code 作为当前主流的 AI 编程辅助工具,凭借强大的代码理解、工程执行与自动化能力深受开发者喜爱,但原生模型的使用成本相对较高。为了在保持能力的同时进一步降低开销,不少开发者开始寻找兼容度高、价格更友好的替代模型。DeepSeek V4 系列的发布带来了新的选择,该系列包含 V4-Pro 与 V4-Flash 两款模型,并提供了与 Anthropic 完全兼容的 API 接口,理论上只需简单修改配置,即可让 Claude Code 无缝切换为 DeepSeek 引擎。
921 0
|
20天前
|
人工智能 缓存 BI
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro,跑完 Skills —— OA 审批、大屏、报表、部署 5 大实战场景后的真实体验 ![](https://oscimg.oschina.net/oscnet/up608d34aeb6bafc47f
6024 22
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
|
21天前
|
人工智能 JSON BI
DeepSeek V4 来了!超越 Claude Sonnet 4.5,赶紧对接 Claude Code 体验一把
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro 的真实体验与避坑记录 本文记录我将 Claude Code 对接 DeepSeek 最新模型(V4Pro)后的真实体验,测试了 Skills 自动化查询和积木报表 AI 建表两个场景——有惊喜,也踩
7272 18