前言
此文章是进行git分支开发的过程中所体验的命令,感觉挺好用的,记录下来。
如有错误,可以在评论区指出.
下面的内容比较适合"知道git stash相关命令,但不知道可以用来做什么"的小伙伴查看
git stash 命令
命令 | 解释 | 补充 |
---|---|---|
git stash save “message” | 保存当前分支所做但提交的操作,回到上个版本的状态 | message:是给用来解释保存的东西时用来做什么的 |
git stash list | 用来展示所有保存(stash)的列表 | 方便查看自己保存了有多少记录。而且可以查看某一保存记录对应的stash@{number}![]() |
git stash pop | 恢复之前保存的修改操作并删除该保存记录 | 默认是恢复最近一次的(git stash pop@{0}),如果想指定恢复,可以在pop 加上 stash@{number},number表示stash list的顺序,例如 git stash pop@{1} 则是返回第二个 |
git stash show | 用来展示某一保存记录所修改的操作 | ![]() |
git stash apply | 恢复保存的修改操作但是不删除该保存记录 | 默认是恢复最近一次的(git stash apply@{0}),如果想指定恢复,可以在apply 加上 stash@{number},number表示stash list的顺序,例如 git stash apply@{1} 则是返回第二个 |
git stash drop | 用来删除某一保存记录所修改的操作 | 如果不指定删除那一条保存记录,则默认第一条(stash@{0}) ,如果需要指定,可以git stash drop stash@{number} |
使用场景
简易版:创建A分支开发某一模块 => 临时有任务要去另一个分支B开发另外一个功能 => 不想提交A分支的代码 =>使用git stash save 保存A分支的代码 =>去往分支B开发工作 =>开发完成后切换回分支A=>使用git stash pop 恢复之前开发的进度 => 继续开发
创建A分支开发某一模块
使用git分支开发模式进行开发的时候,我们开发一个模块或者功能,需要创建一个分支进行开发,这样的话,隔离性高一点(例如一个办公室专门开会,一个办公室专门用来办公),降低互相影响的可能性,例如(开会议的尽可能不会打扰到办公的人)。
例如我正在开发消息管理,我创建一个消息管理分支,然后进行开发。
临时有任务要去另一个分支B开发另外一个功能
正在开发的过程中,上头突然来说,“有一个角色管理的新任务给到你这边,优先级比较高”,由于任务和我现在开发工作并不是一个模块的,所以我需要切换到分支B进行开发。
PS:这里说明一下为什么要切换分支,角色管理的新任务和我现在做的消息管理不是同一个模块的,如果我在消息模块分支做角色管理的事情,那么角色管理的工作就分散了,即存在在角色管理分支,也存在在消息管理分支,不容易管理。
不想提交A分支的代码
因为比较突然,而你正在开发的东西还没保证能运行。不想提交上去。
使用git stash save 保存A分支的代码
例如我正在开发消息管理的发送消息功能。
使用git stash save后
开发完成后切换回分支A=>使用git stash pop 恢复之前开发的进度
这样我们就可以愉快的继续开发啦。