0
点赞
收藏
分享

微信扫一扫

git stash 命令详解


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

1. 应用场景

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

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

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

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



  1. ​git stash push -m '功能开发中'​

  2. ​git checkout master​

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



  1. ​git stash push -m '功能开发中'​

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



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

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



  1. ​$ git stash​
  2. ​# 没有要保存的本地更改​
  3. ​No local changes to save​

2. 添加储藏

添加储藏



  1. ​git stash​

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



  1. ​git stash push -m <message>​

3. 查看储藏

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



  1. ​git stash list​

查看文件变动差异



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

4. 删除储藏

删除某个储藏



  1. ​git stash drop <stash>​

清除所有储藏



  1. ​git stash clear​

5. 使用储藏

应用储藏



  1. ​# 应用指定的储藏​
  2. ​git stash apply <stash>​
  3. ​# 应用并删除指定的储藏​
  4. ​git stash pop <stash>​

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

git stash 命令详解_git



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

6. 常见用法


  1. ​# 添加存储​
  2. ​git stash push -m <message>​
  3. ​# 查看所有存储​
  4. ​git stash list​
  5. ​# 查看储藏文件差异​
  6. ​git stash show -p <stash>​
  7. ​# 应用储藏​
  8. ​git stash apply <stash>​
  9. ​# 应用并删除储藏​
  10. ​git stash pop <stash>​
  11. ​# 删除指定储藏​
  12. ​git stash drop <stash>​
  13. ​# 清空储藏​
  14. ​git stash clear​

 

举报

相关推荐

0 条评论