首页 > 其他分享 >在master主分支上改了代码,忘记切分支了怎么办

在master主分支上改了代码,忘记切分支了怎么办

时间:2024-03-29 13:30:01浏览次数:16  
标签:Git 代码 stash git master Stash 暂存 分支

前言:

在软件开发过程中,Git作为一个强大的分布式版本控制系统,极大地提升了开发者们对于代码版本管理的能力。而在复杂的项目开发中,我们时常需要在不同的分支之间切换,来实现功能开发、bug修复或是协同合作。然而,有时难免会在错误的分支上开始编写新功能,这时,Git的Stash功能便扮演了关键角色。本篇博客将详细阐述如何利用Git Stash暂存并转移未提交的改动,使你在面对此类情况时能够从容不迫地处理。

正文:

步骤一:暂存新开发内容

当你在Master分支或其他非预期分支上进行新功能开发,意识到应当在新分支上进行时,可以采用以下Git命令暂存当前未提交的改动:

git stash save '暂存'

此命令会将当前工作目录下的所有未提交改动暂时存储至stash中,并附带一个自定义的描述信息,此处为’功能暂存’。执行后,通过git status检查,你会看到当前工作目录已经恢复到干净状态。

步骤二:创建并切换至新分支

接下来,创建并切换到用于新功能开发的分支:

git checkout<目标分支名>

这条命令创建了一个名为’lcx/feat-0318’的新分支,并立即将工作目录切换到该新分支上。

步骤三:查看stash内容

为了确认暂存内容是否已成功保存,可以通过以下命令查看stash列表:

git stash list

此命令将输出stash队列中所有暂存内容及其对应的描述信息。

步骤四:将stash内容应用到新分支

现在,我们可以安全地将暂存的改动应用于当前的新分支:

git stash pop

git stash pop命令会取出stash栈顶的暂存内容,并尝试将其应用到当前分支。一旦应用成功,该stash内容就会自动从stash栈中移除。

综上所述,通过Git Stash,我们能够在不同分支间快速切换的同时,有效管理并迁移未提交的代码改动。这一过程不仅保证了代码库的整洁性,也遵循了良好的分支管理实践——即每个新功能或修复都应在独立分支上进行,以利于代码审查和版本控制。希望这篇文章能帮助你在实际开发中更好地运用Git Stash功能,提升工作效率和代码管理质量。

标签:Git,代码,stash,git,master,Stash,暂存,分支
From: https://blog.csdn.net/wenxuankeji/article/details/137088755

相关文章

  • 在分支10上revert已合并的分支1,在分支11上合并分支1,在新的分支12上拉去分支10,再拉去分
    在分支10上revert已合并的分支1,在分支11上合并分支1,在新的分支12上拉去分支10,再拉去分支11,为什么不能拉去到分支1的更新内容git的版本管理会记录全局所有分支的revert事件,所有分支合并中存在revert事件,后续都会存在,解决方法:revert掉对应分支上的revert事件,再合并;或者根据你的描......
  • 代码质量与技术债系列分享之一 - 如何做好 Code Review
    TL;DRCodeReview速查手册参考资料https://composity.com/post/too-busy-to-improvehttps://commadot.com/wtf-per-minute/https://dl.acm.org/doi/10.1145/3585004#d1e372https://google.github.io/eng-practices/review/reviewer/standard.htmlhttps://book.douban.co......
  • EM求解高斯混合模型GMM 原理+公式推导+代码
    1简介EM(Expectation-Maximum)算法也称期望最大化算法,它是为了解决在方程无法获得解析解的情况下,通过迭代给出数值解。核心:EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计(因此在往下面看之前,我希望你对贝叶斯的基本理论有所了解)2极大似然估计(1)问题背......
  • 基于DBO-CNN-BiLSTM数据回归预测(多输入单输出),蜣螂优化算法优化CNN-BiLSTM-附代码
    基于DBO-CNN-BiLSTM的数据回归预测是一种综合利用了深度学习中的多种技术的方法,包括卷积神经网络(CNN)、双向长短期记忆网络(BiLSTM)和注意力机制(Attention)。蜣螂优化算法用于优化CNN-BiLSTM模型的参数。以下是基于DBO-CNN-BiLSTM的数据回归预测的原理:CNN(卷积神经网络):CNN是一......
  • 10天【代码随想录算法训练营34期】 第五章 栈与队列part01(● 232.用栈实现队列 ● 22
    232.用栈实现队列classMyQueue:def__init__(self):self.queue=[]self.size=0defpush(self,x:int)->None:self.queue.append(x)self.size+=1defpop(self)->int:self.size-=1retur......
  • 如何优雅的查看方法耗时,不用写一行代码!这个插件支持的太多了
    前言没错,又是CoolRequest插件,这次引来一个重大更新,可以统计任意方法耗时,先上个图。另外,这是此次更新的功能。什么是CoolRequestCoolRequest是一个IDEA中的接口调试插件,除了可以发起基本的HTTP请求之外,还提供了强大的反射调用能力,可以绕过拦截器,这点广受网友的好评,当然伴......
  • ByteTrack多目标跟踪——yolox_model代码详解
    文章目录yolox_modelYOLOPAFPNYOLOXHeadmodel损失计算初步筛选SimOTA求解附:网络结构ClsheadCls_convsCls_predsRegheadReg_convsReg_predsObjheadObj_predsyolox_modelyolox_model主要包括以下几个文件:yolox.py、yolo_pafpn.py以及yolo_head.pytrain时......
  • 8、jenkins项目代码审查-SonarQube代码审查
    文章目录一、安装SonarQube1、SonarQube简介2、安装SonarQube一、安装SonarQube1、SonarQube简介SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二......
  • Java 多态、包、final、权限修饰符、静态代码块
    多态Java多态是指一个对象可以具有多种形态。它是面向对象编程的一个重要特性,允许子类对象可以被当作父类对象使用。多态的实现主要依赖于继承、接口和方法重写。在Java中,多态的实现主要通过以下两种方式:继承:子类继承父类的属性和方法,可以对方法进行重写(覆盖),从而实现不同的......
  • ARM 芯片的嵌入式代码移植注意事项
    嵌入式系统在我们的日常生活中无处不在,从智能手机和可穿戴设备到汽车和工业控制系统。ARM架构是嵌入式系统中广泛使用的处理器架构,以其高性能、低功耗和成本效益而闻名。然而,在将代码从一个ARM芯片移植到另一个ARM芯片时,需要注意一些关键事项,以确保移植的成功。处理器......