git stash的使用

本文详细介绍了Git Stash命令的使用方法,包括如何保存、查看、恢复和删除工作进度,以及一些实用技巧,帮助开发者更好地管理代码变更。

工作中,往往会遇到类似这样的情况:

正在a分支上写新功能,项目经理突然说b分支上有个bug需要修改。这时如果切换到b分支,那么所有在a分支上写的文件都会跟随到b分支,无奈之下,只能待在a分支止做个提交,然后切换到b分支。这样就莫名的多了个commit。

这时就是git stash的用武之地了。git stash是用于保存和恢复工作进度的。


一、备份文件

//完整命令
git stash [save [--patch] [-k|--[no]keep-index] [-q|--quiet] [<message>]]

保存当前的工作进度

//拆解命令1
git stash

什么参数不加,会分别对暂存区(没有add的)和工作区(add之后的)的状态进行保存。

//拆解命令2
git stash save "message"

save可以添加保存时的备注。示例:git stash save "完成user接口"

//拆解命令3
git stash -k

-k 或–keep-index只备份没有add的文件。示例git stash save --keep-index "部分文件"


二、查看备份列表

git stash list

显示备份列表。git stash是可以多次保存工作进度的,在恢复时候选择对应的项进行恢复。显示如下:

stash@{0}: On master: 部分文件
stash@{1}: On master: 完成user接口
stash@{2}: WIP on master: 3eef0b3 change primary database
stash@{3}: WIP on master: 3eef0b3 change primary database

三、恢复备份文件

方式一
//完整版命令
git stash pop [--index] [<stash>]

恢复备份文件

//拆解命令1
git stash pop

不使用任何参数,会恢复最近一次的备份文件(也就是stash list中的stash@{0}),并将恢复的工作进度从存储的工作进度列表中清除。

//拆解命令2
git stash pop stash@{1}

指定恢复git stash list中的某一个备份进度。

方式二
git stash apply [--index] [<stash>]

除了不删除恢复的进度之外,其余和git stash pop 命令一样。

四、删除备份列表

git stash drop [<stash>]

删除一个存储的进度。默认删除最新的进度。

git stash clear

删除所有存储的进度

五、使用技巧

常规 git stash 的一个限制是它会一下暂存所有的文件。有时,只备份某些文件更为方便,让另外一些与代码库保持一致。一个非常有用的技巧,用来备份部分文件:

  1. add 那些你不想备份的文件(例如: git add file1.js, file2.js)
  2. 调用 git stash –keep-index。只会备份那些没有被add的文件。
  3. 调用 git reset 取消已经add的文件的备份,继续自己的工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值