美文网首页
20190810_idea切换Git分支时保存未提交的文件

20190810_idea切换Git分支时保存未提交的文件

作者: GogoFun | 来源:发表于2019-08-10 11:44 被阅读0次

问题描述

我们现在需要开发一个新功能A时,我们需要从Dev分支上创建一个新的功能分支Feature_A,然后我们就在这个分支上进行开发。假设有一天,你正在开发,本地已经在Feature_A上修改了几个文件,但是功能还没有完全开发完成,你不想commit,此时测试跟你说在现在的一个测试分支Test_B上有1个Bug,希望你去修复。这个时候你有两种选择:

  • 提交Feature_A上的文件,然后切换到Test_B修复Bug。(你不想这么干)
  • 不提交Feature_A上的文件,直接切换到Test_B修复Bug,这样会把Feature_A里面修改的文件带到Test_B里面去。(你也不想这么干,因为Feature_A的新功能不应该跟Test_B扯上任何关系)

解决方案

注意:这里的解决方案只是针对Intellij Idea,使用原生git stash功能也可以解决这个问题

我们现在有三个分支,如下图:


image.png

我们目前在Feature_A上进行开发,需要去修复TestB的Bug,假设我们在Feature_A上新增了一个文件,也修改了一个文件,如下图:


image.png
  • 方法一:使用Shelve Changes
  1. 选中Feature_A上你不想提交的文件,右键选择Shelve Changes


    image.png
  2. 保存Shelve Changes


    image.png

    3.查看Shelve Changes


    image.png
  3. 切换到TestB,修复Bug。切换到TestB之后,你会发现你在FeatureA中的修改并没有带到TestB里面来,你可以放心在TestB上修改。


    image.png
image.png
  1. TestB修复完成之后,切换回Feature_A,选择Shelve Changes进行UnShelve


    image.png
    image.png
    image.png

    6.Feature_A的修改恢复之后,删除Shelve Changes


    image.png
  • 方法二:使用Stash Changes
  1. 选中Feature_A上你不想提交的文件,右键选择Git->Repositor->Stash Changes


    image.png
  2. 保存Stash Changes


    image.png
  3. 查看Stash Changes


    image.png
    image.png
  4. 切换到TestB,修复Bug。切换到TestB之后,你会发现你在FeatureA中的修改并没有带到TestB里面来,你可以放心在TestB上修改。


    image.png
    image.png
  5. TestB修复完成之后,切换回Feature_A,选择Git->Repositor->UnStash Changes


    image.png
    image.png
    image.png

    6.Feature_A的修改恢复之后,删除Stash Changes


    image.png

相关文章

  • 20190810_idea切换Git分支时保存未提交的文件

    问题描述 我们现在需要开发一个新功能A时,我们需要从Dev分支上创建一个新的功能分支Feature_A,然后我们就...

  • 修改git名称和邮箱

    进入C盘找到 .gitconfig文件打开命名窗口 命令如下: git分支切换 git提交切换 git分支比对

  • git摘要

    操作顺序 主分支上的更改不会提交,分支才去提交git diff 查看更改文件git stash 保存更改文件到...

  • Git 基本用法

    克隆 查看git状态 创建新的分支 切换分支 删除分支 添加新文件 提交 分支推到远程分支 查看提交记录 查看所有...

  • git切换分支时报错无法切换

    git checkout dev在切换分支前要保证修改文件已提交到远程分支,或是修改的文件恢复 git commi...

  • Git 分支总结

    Git 分支总结 描述: Git 保存的不是文件差异或者变化量,而只是一系列文件快照。 在 Git 中提交时,会保...

  • 你可能在找的git操作

    还原单个文件 撤回commit提交(不丢失代码) git reset --soft HEAD^ git切换分支 查...

  • Git分支

    一: 分支的简介 git保存的不是文件的变化或者差异,而是一系列文件的快照。 1.提交 在提交的时候,git会保存...

  • Git常用命令

    查看、添加、提交、删除、找回,重置修改文件 查看文件diff 查看提交记录 Git 本地分支管理 查看、切换、创建...

  • Git分支

    Git分支 分支简介 Git 保存的不是文件的变化或者差异,而是一系列不同时刻的 快照 。 在进行提交操作时,Gi...

网友评论

      本文标题:20190810_idea切换Git分支时保存未提交的文件

      本文链接:https://www.haomeiwen.com/subject/wmgljctx.html