首页 > 其他分享 >什么是 stash uncommited change

什么是 stash uncommited change

时间:2024-09-14 13:46:39浏览次数:9  
标签:git 更改 保存 stash uncommited 提交 暂存 change

stash uncommitted changes 是 Git 中的一个操作,用于临时保存工作目录中的修改(包括未提交的更改),而不将它们提交到当前的分支。当你想切换到其他分支或进行其他操作,但又不想将当前的更改提交或丢失时,git stash 可以帮助你临时“藏起”这些更改,稍后可以再恢复。

详细解释

  1. 未提交的更改:指你在工作目录中对文件做出的更改,这些更改可能是:

    • 修改了已跟踪的文件,但还没有 git addgit commit
    • 已通过 git add 暂存,但还没有 git commit
  2. stash 的作用

    • git stash 命令会将未提交的更改(包括暂存和未暂存的修改)保存到一个堆栈中,并将工作目录恢复为干净状态(如同你刚刚检出分支时一样)。
    • 这些更改被临时存储在 Git 中,稍后可以通过 git stash applygit stash pop 将它们恢复回来。

使用示例

  1. 暂存未提交的更改

    git stash
    

    该命令将暂存当前工作目录的所有未提交更改,并恢复到没有更改的状态。

  2. 查看 stash 列表

    git stash list
    

    该命令会列出所有被暂存的更改。

  3. 应用 stash

    git stash apply
    

    该命令会应用最近一次的 stash,即恢复刚才保存的更改,同时 stash 记录还会保留。

  4. 恢复并删除 stash

    git stash pop
    

    该命令会将最近一次的 stash 应用到工作目录,同时删除该 stash 记录。

  5. 仅暂存未暂存的更改
    如果你只想暂存那些尚未 git add 的更改,而不影响已暂存的部分,可以使用:

    git stash -k
    
  6. 清除 stash
    如果你不再需要已保存的 stash,可以清除所有 stash 记录:

    git stash clear
    

使用场景

  • 切换分支:你正在开发某个功能,但突然需要切换到另一个分支修复问题,使用 git stash 将当前的更改存起来,待你切换回该分支时再恢复。
  • 临时保存工作:当你还没有准备好提交工作,但又不想丢失当前的更改,git stash 可以将它们暂时保存。

总结来说,stash uncommitted changes 是一种方便的机制,帮助你在不提交代码的情况下保存未提交的更改,适合在临时中断当前工作或切换任务时使用。

标签:git,更改,保存,stash,uncommited,提交,暂存,change
From: https://www.cnblogs.com/liuyajun2022/p/18413810

相关文章

  • kex_exchange_identification: read: Connection reset
    问题截图解决手贱把这个禁用了(打开就行)其它参考https://stackoverflow.com/questions/69394001/how-can-i-fix-kex-exchange-identification-read-connection-reset-by-peer......
  • Logstash 配置Java日志格式的方法
    Logstash是用于日志收集的开源工具,通常与Elasticsearch和Kibana一起使用,形成ELKStack(现在称为ElasticStack)。Logstash非常灵活,可以通过配置文件(通常是.conf文件)来定义数据的输入、处理和输出。对于处理Java日志,一个常见的场景是解析Java应用生成的日志文件(如使用......
  • 抛物线绘制 代码 ForceMode.VelocityChange,这种模式,忽略质量变化的影响 , 质量默认为1
    publicLineRenderer线渲染器;publicVector3[]线的点们=newVector3[60];publicTransform发射点;publicfloat力度=10;publicfloat细分长度=.02f;publicGameObject子弹;voidUpdate(){for(intfFor=0;fFor<线的点们.Length;f......
  • 【内网渗透】最保姆级的春秋云镜Exchange打靶笔记
    目录flag1flag2flag3 flag4flag1fscan扫外网访问8000端口->官方网站 Java代码审计之华夏ERPCMSv2.3|Drunkbaby'sBlogadmin/123456弱口令打/user/list?search=的jdbc+fj反序列化vps搭一个MySQL_Fake_Serverpayload:/user/list?search=%7b%20%22%6e%6......
  • 【YashanDB知识库】修改字段长度后,jdbc驱动接口报YAS-04007 Message:result set metada
    问题现象yashandb修改表的字段长度后,客户的业务接口报YAS-04007异常,截图如下:问题的风险及影响客户的业务在访问yashandb时异常出错,影响使用问题影响的版本所有的yashandb版本问题发生原因使用jdbc接口获取PreparedStatement以后,修改表的字段长度,再用前面获取的PreparedStatement继......
  • java.lang.ClassNotFoundException: net.logstash.logback.appender.LogstashTcpSocke
    出现以下错误,是因为项目缺少依赖:atorg.springframework.boot.logging.logback.LogbackLoggingSystem.reportConfigurationErrorsIfNecessary(LogbackLoggingSystem.java:189)atorg.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(Log......
  • BUSA8030 (BUSA7030) Mgt of Data, Analytics and Change
    BUSA8030(BUSA7030)MgtofData,AnalyticsandChangeSession2,2024AssessmentTask   CaseStudy–IndividualAssignmentDuedate      6thofSeptember2024,23:55Weight(%)       30%Taskdescription       Individ......
  • Exchange 2016部署实施案例篇-04.Ex基础配置篇(中)
    昨天更新了基础配置的上篇《Exchange2016部署实施案例篇-04.Ex基础配置篇(上)》,欢迎各位老铁多多提出宝贵意见,非常感谢。虚拟目录自动发现配置有的朋友可能知道,虽然在虚拟目录里有自动发现这个选项,但自动发现记录在图形化界面无法配置自动发现地址,如图所示 其实自动......
  • 解决VSCode 使用git拉取前端代码报错问题,屏蔽不参与git提交的文件,git rm --cached,git
    问题描述:`最近,在公司共同开发Angular前端项目过程中,我使用的开发工具时VSCode,遇到一个问题,比如environment.js,package-lock.json,angular.json等等文件都是不需要上传的,别人上传了,我也不想覆盖的文件,你懂吧。但是呢,我一拉代码,就会提示有冲突,要我解决,不然拉不了,有个蠢办法就......
  • docker安装logstash7
     一、创建网络dockernetworkcreate-dbridgeelastic#和elasticsearch使用同一个网络 二、拉取logstash镜像dockerpulllogstash:7.1.1 三、创建logstash容器dockerrun-it\--namelogstash\-p9600:9600\-p5044:5044\--netelast......