Intellij idea git stash 使用

IDEA之Git分支以及Stash使用

最近漂到北京接手一个新的项目,项目使用的是spring boot和spring cloud。版本控制软件使用的是git,这对一个长期使用svn的coder有着不小的冲击,此次文章记录的是git中 stash的使用。

应用场景

当在多人开发中,使用 git add-> git commit-> git pull ->git push 三板斧通常有可能在git pull 的时候造成代码冲突。

解决方案

我们们可以使用git stash 来缓存本次本地仓库的新增和提交,让代码回到上一次从远程仓库pull代码的状态,然后我们再从远程仓库pull代码。
在这里插入图片描述
在弹出页面,填写相关备注,然后点击 Create Stash 创建stash。
在这里插入图片描述
此时我们的测试stash就创建完成了,这时本地的代码就回到了上一次push变更之前的状态了,这时我们再pull代码下来就没有冲突了。

代码pull下来后我们要在这份代码中加入我们的修改,这时我们使用Unstash Changes 。就会将我们本次的修改加入,不出意外的话应该会提示冲突,这时候我们就按步解决冲突文件就行,该留的留,该删的删。
在这里插入图片描述
其实解决冲突的方式有很多种,这里只是提供了使用stash方向的思路。stash还有很多妙用,比如我们可以利用stash任意的切换分支去修改代码而不造成影响,具体步骤如下。

我们又接到一个新的需求,正在 dev 分支进行开发,开发还未完成。
突然线上出现 bug,需要我们紧急进行修改,于是我们要基于最新的 master 分支新建一个 bug 分支,需要先切换到 master 分支,但是当前分支的代码没有commit, 如果直接切换到 master 分支的话,dev 分支上的新增代码就会跑到 master 分支,而代码又不能此时 commit ,于是就轮到 stash 出场了。

Stash 会保存当前工作进度,会把暂存区和工作区的改动保存起来。

添加备注,选择 CREATE STASH。你会发现当前工作区内的代码被恢复成了原样。
此刻切换到 master 分支,并创建 bug 分支进行修复 bug,修复完成后合并到 master 分支并 push 到远程仓库,上文已经演示如何合并,在此不再赘述。

将 bug 与 master 合并完成之后,现在要接着写 dev 需求代码,首先先切换到 dev 分支;
但是之前的代码已经被我们放到了 git 的 stash 当中,我们现在要把代码还原到工作区当中。
选择 Unstash Changes

选择之前保存的,同时勾选 Pop stash(还原完成后,会自动删除这个 stash),确定后,工作区之前写的代码就又回来了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值