git stash 用法总结分析

git stash 用法总结分析

在git使用中,我们可能会面临以下几种情况。

  1. pull代码之前,需要把已修改文件暂存。
  2. pull代码的时候遇到和工作区修改的文件冲突情况,为了避免拉取冲突,需要把已修改文件暂存,pull之后再解决冲突;
  3. 在功能开发过程中,遇到急需修复的bug,需要修改的文件可能和现在开发的相同,需要将已经开发的内容暂存,使正常开发和bug修复隔离,然后进行bug修复,修复完提交。

git stash的作用是把修改的文件暂存到本地,将工作区文件还原至上次git更新、提交时的状态。新增文件不能暂存,也不会被删除。

git stash

先来看下当前 git 工作区的状态

$ git status
On branch dev
Your branch is up to date with 'origin/dev'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

 modified:   app/controller/login.ts
 modified:   app/controller/user.ts
 modified:   app/middleware/jwtHandler.ts
 modified:   app/service/user.ts

Untracked files:
  (use "git add <file>..." to include in what will be committed)

 gitTest.ts

no changes added to commit (use "git add" and/or "git commit -a")

可以发现本地有四个文件被修改过,gitTest.ts 文件没有在Git版本控制中,是新增的文件,执行 git stash

$ git stash
Saved working directory and index state WIP on dev: f4d0a85 chore: 注释测试代码

该命令把工作区修改的文件保存起来,并将工作区恢复至上次git操作的状态,再次使用 git status

$ git status
On branch dev
Your branch is up to date with 'origin/dev'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)

 gitTest.ts

nothing added to commit but untracked files present (use "git add" to track)

可以发现工作区里gitTest.ts文件是Untracked状态,说明 git stash 不能保存新增的文件,其余四个被修改过的文件被保存,工作区恢复上次git代码更改时的状态

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值