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的案例说明

相关推荐
番茄灭世神12 分钟前
Git入门使用学习
git·gitee·软件工程·计算机专业入门
南_山无梅落1 小时前
团队协作高频Git实用手册(项目实战版)
git·团队开发
就叫飞六吧2 小时前
git提取当前分支指定文件历史版本
git
数字游民95272 小时前
网站备案全流程回放(腾讯云)
人工智能·git·github·腾讯云·网站备案·waytoopc
Albert Edison2 小时前
【Git】多人协作一(同一分支下)
git·vscode·svn·github
学好statistics和DS3 小时前
Git 同步冲突
大数据·git·elasticsearch
德彪稳坐倒骑驴15 小时前
Git常用命令
git
无限进步_16 小时前
【C语言&数据结构】对称二叉树:镜像世界的递归探索
c语言·开发语言·数据结构·c++·git·算法·visual studio
qq_54702617918 小时前
Git 使用指南
git
XiaoHu020720 小时前
Linux多线程(详细全解)
linux·运维·服务器·开发语言·c++·git