git stash 常用命令用法

本文介绍如何利用Git stash功能在多分支开发场景中高效管理代码改动,提供从添加到恢复、删除stash的完整流程及注意事项,助力开发者提高工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当在一个分支的开发工作未完成,却又要切换到另外一个分支进行开发的时候,除了commit原分支的代码改动的方法外,我觉得git stash是一个更加便捷的选择。

步骤如下:

一、添加改动到stash。一般情况下git stash 就直接存储起来了。如果stash非常多,在原分支 git stash save “comment”,加入message方便后去git stash pop stash{编号}。网上很多很多资料都没有加 -a 这个option选项。git stash save -a “comment”,而对于在项目里加入了代码新文件的开发来说,-a选项才会将新加入的代码文件同时放入暂存区,与git commit -am “comment” 同理。

二、恢复改动。如果你要恢复的是最近的一次改动,git stash pop即可,如果有多次stash操作,那就通过git stash list查看stash列表,从中选择你想要pop的stash,运行命令git stash pop stash@{id}或者 git stash apply stash@{id}即可。

三、删除stash。
git stash drop

<think>我们正在处理用户关于GitStash的查询。根据用户要求,我们需要提供GitStash命令的详解及使用示例。同时,我们需要注意以下几点:1.所有行内数学表达式用$...$,但本问题不涉及数学表达式,所以主要关注代码和文本。2.独立公式用$$...$$,但同样不涉及。3.LaTeX语法正确(代码块用markdown的代码块,非LaTeX)。4.使用中文回答。5.生成相关问题。6.在引用的段落末尾添加引用标识(注意:引用标识需要与引用内容关联,但用户提供的引用[1]和[2]是关于GitStash的,我们可以适当引用)。用户要求的结构:清晰,逐步解决问题,真实可靠。计划回答结构:1.介绍GitStash的作用。2.详细解释常用命令。3.提供使用示例(代码块)。4.注意事项。5.生成相关问题。注意:用户提供的引用[1]和[2]内容如下:引用[1]:解决冲突的流程(与stash冲突解决相关)引用[2]:Gitstash会保存所有未提交的修改(包括暂存和非暂存),是本地操作,不会推送到服务器,推荐使用gitstashsave并加message。我们将这些引用内容融入到回答中。开始组织答案:</think>### Git Stash 命令详解及使用示例 `git stash` 是 Git 中用于临时保存工作目录未提交修改的命令,适用于需要切换分支但不想提交未完成工作的场景。以下是核心功能解析: #### **一、基础命令** 1. **保存当前修改** ```bash git stash save "描述信息" # 推荐添加描述 ``` 保存所有未提交的修改(包括暂存区和工作区),工作目录恢复到上次提交状态[^2]。 2. **查看存储列表** ```bash git stash list # 显示格式:stash@{0}: On master: 描述信息 ``` 3. **恢复修改** ```bash git stash apply stash@{n} # 恢复指定存储,保留存储记录 git stash pop stash@{n} # 恢复并删除存储记录 ``` #### **二、高级用法** 1. **选择性存储** ```bash git stash push -p # 交互式选择要存储的代码块 git stash push --keep-index # 只存储工作区修改,保留暂存区内容 ``` 2. **删除存储** ```bash git stash drop stash@{n} # 删除单个存储 git stash clear # 清除所有存储 ``` 3. **从存储创建分支** ```bash git stash branch new-branch-name stash@{n} # 基于存储创建新分支 ``` #### **三、冲突解决示例** 当应用存储时发生冲突: ```bash git stash apply # 出现冲突后手动解决 git add resolved-file.txt git commit -m "解决stash冲突" # 完成冲突处理[^1] ``` #### **四、注意事项** 1. 存储内容仅保存在本地,不会推送至远程仓库[^2] 2. 未跟踪的文件(新增未 `git add` 的文件)默认不被存储,需添加 `-u` 参数: ```bash git stash -u # 存储未跟踪文件 ``` 3. 长期未处理的存储可能因分支变更导致冲突风险增加 > **应用场景**:临时切换分支修复 Bug、保存实验性代码、合并冲突时保留工作进度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值