【Git】分支切换时内容未提交

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

按照对git分支的理解,但我在分支1修改内容,然后切换到分支2,分支1上修改的内容,分支2中应该是看不见的。但实践表明,只有当分支1修改的内容已提交,该结论才会成立,对于在分支上未提交的内容,切换分支时,会被带到新的分支。

这里做个小示例验证:

在这里插入图片描述

先初始化仓库,同时提交一个初始文件,文件内容:[0] start

在这里插入图片描述

直接创建新的分支branch-1,并切到新的分支,编辑文件,新增:[1] update in branch-1的内容。

此时切换回master分支,发现,我们在branch-1分支上修改的内容,并带到了master分支。

在这里插入图片描述

同时我们需要注意,如果此时我们在master分支,将修改的内容进行提交,再切换到branch-1分支上,会发现之前修改的内容没有存在于branch-1分支上。

小结:即我们在分支上修改的内容,如果没有提交的话,在切换分支时,是会被带新的分支,只有在当前分支进行提交后,才会将内容合并到当前分支,不会随着分支切换而被带走。

那如果我们在当前分支的修改还没达到提交的时候,但是又需要切换分支时该如何操作呢?

这里可以使用 git stash 来实现这个需求。

同样做个小示例:

在这里插入图片描述

在现在的master分支上, 拉取一个新的分支branch-2,在branch-2分支上编辑文件,新增:[2] update in branch-2,此时我们需要切回master分支,但是不希望这个修改被带到master分支,则我们使用 git stash 将在branch-2分支上修改的内容隐藏起来。再切回到master分支,发现刚才的修改没有被带过来。

在这里插入图片描述

当我们在master分支上处理完原有的任务后,我们就可以重新切到branch-2分支,此时,我们修改的内容还被隐藏着,可以通过 git stash pop,将隐藏的内容进行弹出。

在这里插入图片描述

同时注意,如果我们在本地的修改,与要切换的新分支冲突的话,git也会提示我们要先提交内容,或者隐藏修改的内容,不然无法切换到新的分支。

结论:对于未提交的内容,切换分支时,会被带到新的分支。可以通过 git stash 将修改内容隐藏,来避免该情况的出现。

ABAP代码使用OAuth2.0 Client Credential调用外部API ABAP-OAuth2.0-调用外部API 阅读详情

相关推荐

C# WinForms实战:5分钟用ScottPlot打造专业级示波器界面(附完整代码)

本文详细介绍了如何在C# WinForms应用中,利用ScottPlot.WinForms库快速构建一个专业级的软件示波器界面。通过从环境配置、静态波形绘制到动态数据实时更新的完整实战演示,帮助开发者高效实现高性能的波形显示功能,适用于工业监控、信号分析等多种场景。

weixin_29198045的博客 831

git 没有commit 直接切换分支代码丢失

撤回就可以显示出丢失的代码。

m0_52946104的博客 1136

Qt图形视图框架实战:QGraphicsScene、QGraphicsView与QGraphicsItem的深度应用

本文深入解析Qt图形视图框架的核心组件QGraphicsScene、QGraphicsView与QGraphicsItem的实战应用。通过“舞台、镜头与演员”的比喻,清晰阐述了三者的协作关系,并详细介绍了场景管理、多视图同步、交互增强、自定义图形项绘制与性能优化等高级技巧,帮助开发者高效构建复杂的交互式图形界面。

weixin_29251337的博客 263

git切换分支时,新增加文件,未进行提交时,该文件在别的分支都能被看到,还可以被提交问题

项目开发中存在多个分支 A: B: C: 当 分支 A 下面 新增了 文件,可是代码没有完成,又需要切换到另一个分支去处理时, 如果提交代码后,别的分支是看不到的, 如果代码没有提交:重点问题 B/C分支都能看到A分支未提交的代码,同时还可以直接提交A分支下代码,一旦提交以后,A分支看不到这个新增的文件,这是我们不想看到的。 本人找到两种方法 1、就是在切换分支前,先提交代码 2、就是使用 git stash 或 git stash save “备注信息" (推荐) 切换完分支后,再回到 A分

lqk11的专栏 3308

Tesseract OCR识别不准?手把手教你用PyAutoGUI提升自动点击脚本的准确率

本文针对Tesseract OCR在屏幕自动化中识别不准的问题,提供了一套完整的优化方案。通过PyAutoGUI精准截图、结合PIL和OpenCV进行图像预处理(如灰度化、对比度增强、自适应二值化),并调优Tesseract参数(如PSM模式、白名单),显著提升文本识别准确率。文章还介绍了结合模板匹配、构建容错循环等进阶技巧,帮助开发者打造高可靠性的自动点击脚本。

weixin_29093017的博客 543

4.7W防削顶单声道D类音频功率放大器HT6872介绍

HT6872是一款低EMI,防削顶失真,单声道免滤波D类音频功率放大器。在6.5V电源,10%THD+N,4Ω负载条件下,输出4.71W功率,在各类音频终端应用中维持高效率并提供AB类放大器的性能。

weichen_78的博客 4697

Git 未提交就切换分支 ——解决方案

恢复之前保存的工作进度到当前工作区,此命令的 stasl@{num} 是可选项,在多个工作进度中可以选择恢复,不带此项则默认恢复最近的一次进度相当于 git stash pop stash@{0}恢复之前保存的工作进度到当前工作区且该工作进度可重复恢复,此命令的 stash@{num} 是可选项,在多个工作进度中可以选择恢复,不带此项则默认恢复最斤的一次进度相当于。注意:每写完一个功能记得保存,存储到git上,每次切换分支时,都要上传防止代码丢失!首先切回自己原来的分支上,将之前的代码提交上传到git上。

BXH1010的博客 2996

【局部规划模块轨迹优化算法】EM_planner最大期望滚动优化算法

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对EM_planner最大期望滚动优化算法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。

qq_35635374的博客 759

Git使用笔记

Git从零开始使用的记录

fanstering的博客 518

【Network Management】DCM模块唤醒网络是主动唤醒还是被动唤醒

DCM模块唤醒网络是主动唤醒还是被动唤醒

qq_36056498的博客 1537

R语言生存分析之竞争风险模型

R语言生存分析之竞争风险模型 竞争风险模型(Competing Risk Model)是一种处理多种潜在结局生存数据的分析方法,早在1999年Fine和Gray就提出了部分分布的半参数比例风险模型,通常使用的终点指标是累积发生率函数(cumulative incidence function,CIF)。 研究中结局事件可能有多个,某些结局将阻止感兴趣事件的出现或影响其发生的概率,各结局事件形成“竞争”关系,互为竞争风险事件。 竞争风险模型( Competing Risk Model ) : 指

data+scenario+science+insight 5246

git学习(九) idea git stash操作

  在前面说过,git stash 命令的作用就是将目前还不想提交的但是已经修改的内容进行保存至堆栈中,后续可以在某个分支上恢复出堆栈中的内容;git stash 作用的范围包括工作区和暂存区中的内容,没有提交的内容都会保存至堆栈中;例如突然线上出现 bug,我们需要先切换到 master 分支,但当前分支的代码没有提交,直接切换分支,会将当前分支的新增的代码也会增加到 master 分...

weixin_30917213的博客 489

第9.3章 从CMake基础到自动驾驶实战:构建跨平台C/C++项目的全能指南

《CMake构建实战:项目开发卷》精要指南 本文系统梳理了许宏旭《CMake构建实战》核心内容,涵盖C++构建全流程: 基础构建:详解MSVC/GCC编译器使用、Makefile编写及静态/动态库构建方法 CMake核心:解析语法结构、变量控制、文件操作等关键命令,阐述项目全生命周期管理 实战应用:通过快速排序、手写数字识别项目演示现代CMake实践,特别针对自动驾驶领域给出多传感器融合、SLAM等场景的CMake配置方案 特色价值:本书填补了官方文档实例不足的空白,提供300+代码示例,是掌握工业级C++

行知SLAM 1343

git分支切换提示签出会覆盖本地更改该怎么办

最近一个项目,master分支在本地,有个新的板块要开发,创建了分支contract。在contract分支上开发时想去主分支master上修改东西。但是contract分支上的修改不想提交,在切换到主分支时提示:签出会覆盖本地更改。咋办? 原因:如果当前分支所做的修改没有提交就切换去其他分支也会看到相同的修改,所以解决这个问题有两个办法。 解决办法: 1、用 git add和 git commit提交修改,只要用 git status 检查工作区和暂存区是干净的就可以了。 2、那如果我当前分支上的工作还.

muzidanwu的博客 1万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IDEA中Git当前分支代码未提交如何切换分支

是最好的选择了,会把当前分支的改动带到目标分支,如果与目标分支存在冲突的话需要解决冲突,(我有次在解决冲突的时候,不小心把原分支未提交的代码给搞。其实这不是个最优的方法,一般情况下我们这种场景切换分支,是不需要把改动的代码带到其他分支的,只是想暂存起来,分支切换回来后再把暂存还原回来。不会把A分支的代码带到B分支,但是会删除当前分支修改未提交的所有代码,在切换回A分支,就找不到在A分支上开发的代码了。“apply” 还原完成,不会删除这个 stash,stash里面还可以看到这个暂存,还可以再次进行恢复。

jiaworld的博客 829

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IDAE的Git切换分支的时的冲突

idea的git切换分支冲突

m0_57914665的博客 251

git checkout切换分支

git checkout:除了创建分支,还可以用来切换分支(“检出”)。 有时候,当前分支工作区存在修改而未提交的文件,与目的分支上的内容冲突,会导致checkout切换失败,这时候,可以使用git checkout -f进行强制切换。 常用的切换分支命令格式: git checkout branchname。 git checkout对象可以使分支,也可以是某个提交节点或者节点下的某个文件...

zrh_优快云的博客 9655

本地分支上不想提交更改的内容,但需要切换到另一个分支上处理些事情

使用git stash来隐藏它们,他将保存您的更改而不创建提交 git stash 然后切换到其他分支处理事情 git checkout branch_B 在test-branch分支上处理完事情之后,想要再回到之前的分支 git checkout branch_A git stash pop ...

铁锤妹妹的博客 1169

在当前分支中,进行了修改,如果没有git add git commit 的话,切换到其他分支,当前修改是不是不会保存?

如果在当前分支进行了修改但没有git add和git commit。

HJQD777的博客 533

git切换到别的分支,要暂时保存当前分支的修改(不想进行add 和commit)的方法 git stash...

git 切换分支时会把未add或未commit的内容带过去, 这一点值得注意。 为什么呢? 因为未add的内容不属于任何一个分支, 未commit的内容也不属于任何一个分支。 也就是说,对于所有分支而言, 工作区和暂存区是公共的。 要想在分支间切换, 又不想又上述影响, 怎么办呢? git切换分支保存修改的代码的方法最近在一个原有的项目上做一次非常大...

weixin_30682415的博客 736

git切换分支,文件内容异常说明

git在切换分支时,若当前分支和即将切换过去的分支均有文件A,而且内容完全一样。但是我们在当前的分支中修改了文件A,却没有commit。这个时候,git对比文档库中的文件,发现两个分支的文件A是相同的,所以不会从文档库中取出文件A,结果是,文件A就不会回到原来的状态。 例如:有两个分支,hello和world,两个分支中均有test.txt文件,都有如下内容:hello world! ...

maybeo的博客 1439

git两个分支发生同步修改问题的解决

比如你有两个分支:master和v1.0。当你在v1.0中修改了内容后,切换到master分支,发现master中也同步修改了。

是谢添啊 3780

Git分支管理:从创建到合并冲突解决(二)

本文介绍了Git分支的基本概念和操作。主要内容包括:master分支作为默认主分支,保存最新提交ID;创建、切换和删除分支的方法;分支合并的快速模式与--no-ff强制创建合并提交的区别;以及合并冲突的产生和解决方法。文章通过具体示例演示了如何查看分支历史、创建dev分支、合并分支时处理冲突等常见操作,并强调了使用分支开发任务再合并的安全性优势。最后说明了删除分支的注意事项和恢复误删分支的方法。

sun的博客 1069

git中如何将上一个分支修改的内容,在另一个分支中保存

当我想将已经在当前分支修改的代码,暂时不存储在当前分支,存储到另一个分支的时候可以进行如下操作。(1)正常操作想执行git switch 分支名,会报错误。就是请先将当前修改的代码commit后在执行切换分支。

qq_41429765的博客 330

git分支之间切换的条件是什么?

平时分支切换时,肯定是先提交,之后git st里面没有任何信息了,再分支切换. 但是今天偶然发现在本地有未提交的文件时,git co分支竟然成功.而且差异文件也跟着切到分支上了. 分析:经过测试发现git co 分支时,两个分支已经同步,即两个分支上的md5码是一样的,这个时候,git就判断文件内容一样,不会去更改文件,而直接切换过去.本地修改的文件也跟着过去了. 分析完毕. 看来分支切换

张亮校的专栏 7155

IDEA GIT不提交当前分支修改的代码下如何切换分支

在工作中通常会遇见这样的情况就是:现在正在当前new分支下进行代码开发,这个时候在另一old分支上有一处bug需要修改,切换的时候就必须将new分支修改的代码进行提交,但是有可能这个未通过编译的代码,所以这个时候就是用git stash将new分支上修改的代码进行暂存。 git stash 命令的作用就是将目前还不想提交的但是已经修改的内容进行保存至堆栈中,后续可以在某个分支上恢复出堆栈中的内容;git stash 作用的范围包括工作区和暂存区中的内容,没有提交的内容都会保存至堆栈中;例如突然线上出现 bu

weixin_42270074的博客 1604
上一篇: 【Cassandra】查看键空间,表,列的创建时间戳
下一篇: IDEA 常用设置【更新ing】
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值