博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git stash -- common usage
阅读量:5925 次
发布时间:2019-06-19

本文共 1151 字,大约阅读时间需要 3 分钟。

开发中当处于一个 branch 的时候, 需要切换 branch 但不想 commit , or 需要在当前 branch 暂时搁置当前修改, 处理一些紧急事件的时候. 这时候会发现 git stash 是一个非常好, 非常实用的命令.

用法如下:

将当前未提交的文件全部加进stash暂存: 

git stash

执行完毕之后, 你的工作区将会是clean的, 我们在这里做一次pull --rebase的操作确保获取的是最新的代码之后, 就可以开始修改代码了 . 

当紧急事件处理完毕->commit->push之后, 执行:

git stash pop

或者

git stash apply

就可以恢复我们刚刚放进stash区的未提交代码, 恢复后处于未提交状态, 也不是stage状态, 除非在stash之前先做了 git add 操作.

 

一些高级用法:

上面所说的 pop 和 apply 命令可以恢复上一次stash操作时放进stash区的代码.

那么要恢复某一次stash操作暂存的代码怎么办呢?

 

首先, 我们需要查看stash暂存区的每一次stash记录:

git stash list

查询出来的结果是类似这样的:

1 stash@{
0}: WIP on branchA: 5049768 commit4: 3.0dev compact bug fix2 stash@{
1}: WIP on branchA: d08a0ad commit3: 3.0dev compact bug fix3 stash@{
2}: WIP on branchA: d08a0ad commit2: 3.0dev compact bug fix4 stash@{
3}: WIP on branchA: 2ce95c1 commit1: 3.0dev compact bug fix

这时候如果我需要回到branchA中commit2这一次提交之后做的修改, 

使用如下命令:

git stash apply stash@{
2}

如果我发现其中stash ID 为 stash@{3} 的这一次修改我不想要了, 

使用如下命令:

git stash drop stash@{
3}

当我们完成一个阶段的工作的时候, 所有stash区里的代码都已经  commit 并且 push 了, 此时留着那些缓存也没什么用处, 那就清理下stash区吧, 

使用如下命令:

git stash clear

 

以上差不多就是git stash的一些常用的命令. 日常开发中使用完全够用了.

 

转载于:https://www.cnblogs.com/rand7/p/3663637.html

你可能感兴趣的文章
Linux:文件描述符
查看>>
c语言题中的一些陷阱
查看>>
c语言知识点(1)
查看>>
zuul转发的一些常见异常
查看>>
使用JUnitParams简化Parameterized tests
查看>>
聊聊storm nimbus的LeaderElector
查看>>
Linux下安装compsoer ,并使用composer安装laravel
查看>>
看明星合影争C位,学PPT中C位排版法
查看>>
无线网络技术
查看>>
NodeJS-queryString
查看>>
Mycat 之 通过Keepalived 实现高可用
查看>>
虚拟DOM Diff算法解析
查看>>
程序改变了命运,程序生活一天比一天好,对未来也充满了希望
查看>>
Pixel相机是怎么做到自动补抓最不错的自拍照
查看>>
QML的import目录爬坑记录
查看>>
grub参数介绍。
查看>>
Linux中的selinux
查看>>
思科三层交换机充当路由器实现全网互通
查看>>
文件管理
查看>>
[文摘]标准的软件开发过程
查看>>