首页 > 其他分享 >详解 git stash

详解 git stash

时间:2024-03-08 17:14:39浏览次数:28  
标签:git 删除 更改 -- 指定 stash 详解

git stash 详解

git stash 命令及其参数功能。

在 Git 中,stash 是一种暂存工作区更改的方法,它允许您暂时保存未提交的更改,并将当前工作目录恢复到上次提交的状态。这对于需要切换分支处理其他问题、或者当前工作尚未完成但需要清理工作区以拉取或合并其他分支时非常有用。

以下是 git stash 命令的基本用法和参数:

  1. 基本操作:

    • git stash:此命令会将当前工作目录中的所有未提交更改(包括已添加至暂存区的)保存到一个新的 stash 项目中,并重置工作目录为上一次提交的状态。
    • git stash list:显示所有已缓存的 stash 列表及其简短描述。
  2. 应用 stash:

    • git stash apply [stash@{n}]:从 stash 列表中取出并应用指定编号(n)的 stash,如果没有指定,则默认使用最近的一个 stash。注意,这并不会删除stash,它仍然存在于列表中。
    • git stash pop:与 apply 类似,但它会在应用 stash 后立即将其从 stash 列表中移除。
  3. 创建并应用 stash:

    • git stash save "message":可以自定义 stash 的描述信息,并执行 stash 操作。
    • git stash branch <branchname> [<stash@{n}>]:基于某个 stash 创建新的分支,并自动应用该 stash 中的更改。
  4. 查看 stash 内容:

    • git stash show [-p | --patch] [<stash@{n}>]:显示指定 stash 包含的更改详情,如果不指定 stash 编号,则默认显示最近的 stash。加上 -p--patch 参数可以看到差异补丁格式的详细内容。
  5. 删除 stash:

    • git stash drop [<stash@{n}>]:删除指定的 stash,不指定则删除最近的 stash。
  6. 合并 stash:

    • git stash apply --indexgit stash pop --index:如果stash包含索引修改(即暂存区的更改),这个选项会使Git尝试将这些更改精确地应用回暂存区,而不仅仅是工作目录。
  7. 清除所有 stash(谨慎操作):

    • git stash clear:删除所有stash。

请注意,在实际工作中合理使用 stash 功能,尤其是在处理重要变更时确保数据安全,避免因误操作导致代码丢失。同时,结合实际情况灵活运用上述命令和参数,有助于更好地管理和维护你的 Git 工作流程。



欢迎关注公-众-号【TaonyDaily】、留言、评论,一起学习。

公众号

Don’t reinvent the wheel, library code is there to help.

文章来源:刘俊涛的博客


若有帮助到您,欢迎点赞、转发、支持,您的支持是对我坚持最好的肯定(_)

标签:git,删除,更改,--,指定,stash,详解
From: https://www.cnblogs.com/lovebing/p/18061397

相关文章

  • github 搭建个人导航网
    最近搭建了个个人的导航网,具体内容见下图,欢迎大家访问吖,点我访问 (首次访问较慢) 具体实现是使用vue3编写,白嫖github的page部署首先在github上创建一个仓库:name.github.io#name是你github的名字然后在本地创建一个vue3项目 然后把刚创建的仓库clone到......
  • 【HOSTS】电脑端订阅hosts,解决github使用问题
    本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/3151、订阅源除了魔法方式外,可通过修改hosts文件,以达到访问的目的。分享两个github的定期更新地址:①【推荐使用】FetchGitHubhttps://hosts.gitcdn.top/hosts.txt②【备用】Hel......
  • zsh git Mac终端中文乱码问题
    本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/320如果在Mac终端中使用zsh和git时出现中文乱码问题,可以尝试以下解决方法:修改终端字体打开终端,点击菜单栏的“终端”->“偏好设置”,选择“文本”,在“字体”选项中选择一个支......
  • nginx配置文件结构详解
    nginx配置文件(conf文件夹下nginx.conf文件为nginx配置文件)结构详解:main块(全局块):nginx全局信息,指令的相关配置events块:nginx工作模式,与用户网络连接的相关配置http块:http协议信息,代理,缓存,日志大多数功能和第三方模块的的相关配置server块:虚拟主机的相关配置(一个http块中可有......
  • StarCoder 2:GitHub Copilot本地开源LLM替代方案
    GitHubCoPilot拥有超过130万付费用户,部署在5万多个组织中,是世界上部署最广泛的人工智能开发工具。使用LLM进行编程辅助工作不仅提高了生产力,而且正在永久性地改变数字原住民开发软件的方式,我也是它的付费用户之一。低代码/无代码平台将使应用程序创建、工作流自动化和数据分析更......
  • 如何配置极狐GitLab Maven 仓库
    本文作者:徐晓伟GitLab是一个全球知名的一体化DevOps平台,很多人都通过私有化部署GitLab来进行源代码托管。极狐GitLab是GitLab在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。极狐GitLabMaven仓库极狐GitLabMaven私库使用方式文档软件包库中......
  • Unity3D 多线程定时器的原理与实现详解
    Unity3D提供了丰富的功能和工具,让开发者可以轻松地创建各种类型的游戏。其中,定时器是一个非常重要的功能,在游戏开发中经常会被使用到。Unity3D中并没有提供原生的多线程定时器功能,但我们可以通过一些技巧和方法来实现一个多线程定时器。对啦!这里有个游戏开发交流小组里面聚集了......
  • Unity3D 多人战场Animation优化详解
    在多人战场游戏中,动画的优化是非常重要的,因为动画是游戏中的核心元素之一,直接影响玩家的游戏体验。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。在本文中,我们将详细介绍如何在Unity3D中优化多人战......
  • XFS优缺点,ext4详解
    1.XFS是高性能文件系统,由于它的高性能,XFS成为了许多企业级系统的首选,特别是有大量数据,需要结构化伸缩性和稳定性的。例如,RHEL/CentOS7和OracleLinux将XFS作为默认文件系统,SUSE/openSUSE已经为XFS做了长期支持。XFS有许多独特的性能提升功能使他从众多文件系统中脱颖而出,像可伸......
  • Git 开源的版本控制系统-02-base usage 基本用法
    拓展阅读Subversion开源的版本控制系统入门介绍VCSGit开源的版本控制系统-01-入门使用介绍Git开源的版本控制系统-02-baseusage基本用法Git开源的版本控制系统-03-时间数据回溯Git开源的版本控制系统-04-branchmanage分支管理Git开源的版本控制系统-05-tags标签......