gitflow的实战操作案例【经典实操】

一 常见的5大分支

1.1 分支作用概述

二 常见实操

2.1 不同场景的回退

2.1.1 git所包含的区域

2.1.2 git所包含的区域

红色:工作空间改动过

绿色:暂存区

黑色:本地库

|------------------------|-----------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|
| 场景 | 动作 | 描述 |
| 有改动,无add,无commit | Git checkout -- 文件名 可视化:git -rollback | 工作区本次改动撤销 |
| 有改动,有add,无commit | Git reset (mixed) head 文件名 Git reset hard head文件名 可视化: git reset hard 文件名 Git -rollback | Git reset --mixed <commit>;默认模式,重置到暂存区,不碰触工作目录 根据情况,执行git checkout --文件名,回到工作区。 Git reset --hard <commit> 强硬回滚:并重置暂存区和工作目录。 |
| 有改动,有add,有commit | git reset --hard HEAD^ 可视化:git -> reset | 从本地库回退到工作区 |
| 有改动,有add,有commit,有push | 本地执行:Git revert <commit hash> 然后: Git push | 先恢复,再push |

2.1.3 Git的reset命令的三种模式

2.1.4 总结

Git reset: 像是一本书1-7页的书,不要第7页,就像删除第7页,回到第6页。让某段提交的历史消失。

Git revet:想是一本书1-7页的书,新增一页第8页记录回滚到了第7页**;它不会改写历史。**

总结:

何时使用git revert:当你想要安全撤销一个已经推送到公共仓库的提交时,这是团队首选方案。

他的优势:通过添加新的历史来修正错误,不会破坏其他协作者本地的仓库历史,他们只需要像往常一样 git pull就能同步你的修正。

黄金法则:对私有分支用reset,对公共历史用revert。

2.2 git的stash实现暂存半成品代码*

2.2.1 场景描述

1.你正在功能分支feature进行功能开发,开发到一半,半成品;

2.此时如果master分支有一个bug,需要紧急修复

3.如果执行git checkout master,从feateure分支切换到master分支,Git是会阻止的,因为当前目录有未提交的更改。

2.2.2解决办法

使用git stash 就可以完美解决。

使用git stash 将当前的修改临时保存起来,让工作目录恢复到上次提交的状态,将其变干净, 然后你可以自由切换到master分支,拉出hot-fix分支进行修复,修复完成后提交后,切换到feature分支,在把保存的修改取出来,进行工作。

2.2.3 案例实操

1.在feature分支上开发,代码写了一半,突然生产报bug,需要解决

2.当前半成品,不方便提交代码到工作现场,需要储藏起来,等以后恢复现场后继续使用;

2.1)在feature分支选择git->stash changes ,进程暂存操作。

2.2 )填写注释

2.3 )查看效果

3.在master分支创建新分支hot-fix

3.1)创建分支

3.2)填写分支名称

3.3.在hotfix分支修复完bug

4.修复完成后,切换到master分支并完成合并,最后删除刚才创建的hotfix分支

4.1)切换到master分支

4.2)在master分支合并hot-fix;然后进行add,pull,push提交等操作。

4.3)删除分支

6.切换到feature分支,工作区是干净,恢复刚才的工作,通过git stash list查看

对应页面操作,如下:

6.1)方案1:使用git stash apply恢复,但是恢复后,stash内容并不删除,需要使用git stash drop来删除。

6.2)方案2:使用git stash pop恢复,同时把stash内容页删除

2.3 cherry-pick的作用

2.3.1 cherry-pick的作用

git cherry-pick 是一个非常有用的 Git 命令,它的核心思想是"精挑细选"。它允许你将某个(或某些)特定的提交从一个分支复制到另一个分支,而不是合并整个分支的所有更改。

简称:分支下,部分有用内容的复制

2.3.2 cherry-pick的案例

案例场景:

A 分支有一个重要的 Bug修复提交,提交信息为 "fix: 修复支付接口超时"

你需要将这个修复同步到 Master 分支

操作:

1.切换到 Master 分支

2.在 Git Log 中找到A分支的那个提交

3.右键 → Cherry-Pick

4.解决可能的冲突(如果有)

5.推送到远程 Master

这样就完成了将特定提交从 A 分支精准应用到 Master 分支的过程!

参考本篇详情案例

https://blog.csdn.net/u011066470/article/details/144102271

2.4 git的pull与fetch

2.4.1 git的pull与tetch的流程

2.4.2 git的pull与tetch的作用对别

2.5 git的rebase与merge

2.5.1 git的rebase与merge的流程

2.5.2 git的rebase与merge的作用对比

2.5.3 git的rebase与merge的案例说明

相关推荐
大猫会长2 小时前
git笔记
git
克里斯蒂亚诺更新3 小时前
git引入其他分支并且合并
git
全栈陈序员3 小时前
【Git】从入门到精通(二)—— Git安装与初次配置
数据仓库·git
XLYcmy4 小时前
实验报告分析评价文档——《第四次阶段汇报:模型产物的仓库瘦身、云端部署与评测链路打通》评析
git·llm·cpu·gpu·反编译·反汇编·safetensors
全栈陈序员4 小时前
【Git】从入门到精通(三)—— 创建第一个Git仓库
大数据·git·elasticsearch
全栈陈序员4 小时前
【Git】从入门到精通(四)—— Git三大区域:工作区、暂存区与版本库
大数据·git·elasticsearch
YIN_尹5 小时前
【git原理与使用】git基本操作及底层原理(一)
java·git·elasticsearch
AI 编程助手GPT5 小时前
GPT 改完配置别直接覆盖:用 git diff 审查两份文件
git·gpt
叼烟扛炮16 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
netyeaxi1 天前
Git:git深入理解及常见问题
git