代码编织梦想

前言

工作中使用git基本有三年多了,但是居然最近才发现git stash这个命令,在承认自己学艺不精的同时也感慨git功能的强大和便捷。废话少说,今天主要介绍下git stash命令的使用场景和用法介绍,给还没用过的朋友推荐下,估计你了解过后,可能就离不开它了。

使用场景

  • 当你在开发中修改了未提交的代码,突然需要跳转到其他分支或者需要拉取主分支的更新,这时候可以使用 git stash 将未提交的修改存入栈中,等处理完其他事情后可以使用 git stash pop 将修改还原。
  • 当你在开发中进行了一半但还不想提交的修改,需要暂时中断开发去修复一个紧急bug,这时候可以使用 git stash 将当前修改存入栈中,等bug修复后再使用 git stash pop 将之前的修改还原继续开发。

像我之前经常是在一个分支上正在修改某个问题或者开发一个新的特性的时候,需要临时切换到其它分支看个代码或者做修改,之前采用的方法就是clone一份新的代码再进行修改,或者把当前的修改临时commit了,再切换分支。现在看来都是挺蠢的做法,用git stash可以完美的解决这个问题。

使用介绍

为了方便显示效果,我在本地新建了个test.txt文件用于演示

1. git stash: 将当前工作区的修改存入栈中,工作区会恢复成干净的状态。
图片

2. git stash list: 查看栈中所有的暂存,每个暂存都有一个编号。
图片

3. git stash apply: 应用栈顶的暂存,但不会把它从栈中删除。
图片

4. git stash drop <stash@{id}>: 删除指定编号的暂存。
图片

5. git stash pop: 应用栈顶的暂存,并将它从栈中删除。
图片

6. git stash branch <stash@{n}>: 基于指定编号的暂存创建一个新的分支。
图片

7. git stash clear: 清空栈,删除所有暂存。
图片

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Code_farming/article/details/130894803