首页技术文章正文

Java培训:feature分支开发到一半时切换到bugfix分支,如何暂存数据

更新时间:2022-06-22 来源:黑马程序员 浏览量:

  1、解决思路

   在工作过程中,当你正在当前feature分支上进行功能的开发,突然来了一个bug,要创建一个bugfix修复分支进行修复。但是当前feature分支你只开发了一半,显然你去提当前的半成品是不合适的,我们如何处理此类问题,来大家看下一图解:

1655868750789_1.jpg

  我们用到的关键命令:

  ```properties

  #创建Stash 工作点:

  git stash save "干活干到一半"

  #查看stash list

  git stash list

  恢复方式一:

  # apply恢复后手动drop清除stash

  $ git stash apply

  $ git stash drop

  # 多个stash时,恢复指定stash需加上id, 如

  $ git stash apply stash@{0}

  恢复方式二:

  # 恢复最近一次stash到栈中的内容到工作区,恢复后删除此stash

  git stash pop

  # 同理 有多个存储时

  git stash pop stash@{0}

  ```

  2、动手实践

  上图中我们可以看到整个的处理过程,下面我们来看下具体的操作

  2.1、基于Idea工具解决

  右击项目目录----Git----Reppository----Stash Changes

1655868785420_2.jpg

  弹框填上message并勾上keep index方便后面找回,

1655868826417_3.jpg

  点击create stash,此时你会发现会得到一个与你master分支内容相同的代码

1655868849957_4.jpg

  当然你是不能直接在feature分支上修复bug的,这是你需要切换master分支:

1655868871114_5.jpg

  在master主分支基础上创建bugfix分支进行修复

1655869056373_6.jpg

1655869071373_7.jpg

  修复bug,并提交到bugfix

1655869275386_8.jpg

  再切换master分支,然后续进行bugfix分支的合并

1655869299660_9.jpg

1655869309490_10.jpg

  把之前在bugfix分支上修复的代码合并到当前的master分支

1655869350100_11.jpg

  bug修复完成后,切回到feature分支,继续工作

  找回上一次feature的工作点进行工作

1655869472595_14.jpg

  弹出框选择你的工作点,然后点击Apply Stash

  2.2、基于Git命令解决

1655869550002_17.jpg

  feature分支打代码开发到一半,这时候来了bug需要切换分支修复

1655869566321_18.jpg

  创建Stash 工作点:

  ```properties

  #创建Stash 工作点:

  git stash save "干活干到一半"

  ```

1655869631881_19.jpg

  此时你再查看App.java代码会发现会得到一个与你master分支内容相同的代码

1655869648744_20.jpg

  当然你是不能直接在feature分支上修复bug的,你需要切换master分支:

1655869685123_21.jpg

  在master主分支基础上创建bugfix分支进行修复

  bugfix代码后进行提交

1655869749477_24.jpg

  再切换master分支,然后续进行bugfix分支的合并

1655869762141_25.jpg

  合并bugfix代码到master

  bug修复完成后,切回到feature分支,继续工作

1655869806762_28.jpg

  找回上一次feature的工作点进行工作

  ```properties

  #stash列表查看

  git stash list

  ```

1655869862706_29.jpg

  ```properties

  # apply恢复后手动drop清除stash

  $ git stash apply

  $ git stash drop

  ```

分享到:
在线咨询 我要报名
和我们在线交谈!