雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

git stash 命令详解(保存开发进度)

2024-09-25 43
1. 应用场景2. 添加储藏3. 查看储藏4. 删除储藏5. 使用储藏6. 常见用法

1. 应用场景


git stash 命令用于将工作区中的更改和暂存区中的内容储存起来

日常开发中,会经常遇到这种场景

我们正在 dev 分支开发新功能,做到一半时,产品经理过来和我们反馈了一个紧急 bug,需要马上解决,但是做了一半的新功能又不想提交到版本库。这时可以使用 git stash push 先将当前进度保存起来,然后去修复 bug,修复完后使用 git stash apply 恢复之前保存的进度即可

场景1、需要切换到另一个分支(master)处理 bug

git stash push -m '功能开发中'git checkout master

场景2、需要回到新功能编写前的状态,也就是 dev 分支的最新提交记录

git stash push -m '功能开发中'

使用 git stash 的前提必须是版本库中已有提交记录,否则会出现下面提示

$ git stash# 您还没有初始提交You do not have the initial commit yet

没有可以储存的内容(工作区中没有更改,暂存区中也没有内容)

$ git stash# 没有要保存的本地更改No local changes to save

2. 添加储藏


添加储藏

git stash

-m,--message 添加储藏和备注信息

git stash push -m <message>

3. 查看储藏


查看所有储藏(所有分支共享储藏内容,而不是像提交记录每个分支都是独立的)

git stash list

查看文件变动差异

# 显示哪些文件变动了几行git stash show <stash># 显示更加详细的变动信息,可以看到新增、减少了什么内容git stash show -p <stash>

4. 删除储藏


删除某个储藏

git stash drop <stash>

清除所有储藏

git stash clear

5. 使用储藏


应用储藏

# 应用指定的储藏git stash apply <stash># 应用并删除指定的储藏git stash pop <stash>

<stash> 指的是 git stash list 命令输出结果左侧的值,如下图所示

# 错误:您对以下文件的本地更改将被“合并”覆盖error: Your local changes to the following files would be overwritten by merge:    1.txt# 请在合并前提交或隐藏更改Please commit your changes or stash them before you merge.

6. 常见用法


# 添加存储git stash push -m <message># 查看所有存储git stash list# 查看储藏文件差异git stash show -p <stash># 应用储藏git stash apply <stash># 应用并删除储藏git stash pop <stash># 删除指定储藏git stash drop <stash># 清空储藏git stash clear
更新于:1个月前
赞一波!

文章评论

评论问答