• git stash详解


    应用场景

    1. 当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利切换到hotfix分支进行bug修复,修复完成后,再次切回到dev分支,从堆栈中恢复刚刚保存的内容。
    2. 由于疏忽,本应该在dev分支开发的内容,却在master上进行了开发,需要重新切回到dev分支上进行开发,可以用git stash将内容保存至堆栈中,切回到dev分支后,再次恢复内容即可。

    概念

    总的来说,git stash命令的作用就是将目前还不想提交的但是已经修改的内容进行保存至堆栈中,后续可以在某个分支上恢复出堆栈中的内容。这也就是说,stash中的内容不仅仅可以恢复到原先开发的分支,也可以恢复到其他任意指定的分支上。git stash作用的范围包括工作区和暂存区中的内容,也就是说没有提交的内容都会保存至堆栈中。

    常用命令

    git stash:将当前分支中未提交的代码放到栈中
    git stash pop:将栈中的代码放到当前分支
    git stash list:输出栈中的内容
    
    • 1
    • 2
    • 3

    案例

    1. 本地clone了远程项目,内容如下
      在这里插入图片描述
    2. 修改了本地的代码,但是还没有提交
      本地加了一条“haha”
    3. 此时其他人改变了这个项目并且push了
      远程多了一条aaa
      在这里插入图片描述
    4. 我们再去git pull,然后会报错
      在这里插入图片描述

    上述报错告诉我们合并将会被覆盖,给了两种解决方法:1.将本地修改提交2.将本地修改放到栈中,我们这里是用的2

    1. 把这些修改放到栈中(git stash),再重新pull
      放到栈前:
      在这里插入图片描述
      放到栈后:
      在这里插入图片描述
      此时haha就没有了,因为这是新加的,已经放到栈中了,工作区就不存在这些内容了
      此时再去pull:
      在这里插入图片描述
      发现多了一句话:aaa,这就是另外一个人Push到仓库的更新代码
    2. 现在远程的更新已经传到本地了,我们再把栈中我们的代码给拿出来
      在这里插入图片描述
      然后系统告诉我,有一个冲突在readme.txt,我们需要自己处理冲突,如下
      在这里插入图片描述

    说明:上图中,aaa是从远程更新的代码,haha是我们自己加的(修改后没有提交,放到栈中的)

    我们只需要删除多余的,留下你认为需要留下的即可

  • 相关阅读:
    【HDU No. 5057】序列操作 Argestes and Sequence
    Unity记录5.5-地图-随机生成连续洞穴块
    Python版按键精灵基础代码
    滑动窗口:最长不含重复字符的子字符串
    第三章-完善MBR
    【appium】App类型、页面元素|UiAutomator与appium|App元素定位
    【Git】深入了解Git及其常用命令
    Lift, Splat, Shoot图像BEV安装与模型详解
    项目经理需要的技能
    C++之构造函数、析构函数、拷贝构造函数终极指南:玩转对象的诞生、生命周期与复制
  • 原文地址:https://blog.csdn.net/Supreme7/article/details/126036458