git切换分支保存修改的代码的方法

刚才做操作发现一个问题,就是本地有一个old分支,此时本地又new了一个新的分支,那么我在old分支上做修改后切换到new分支上,发现文件是修改后的。原本理解是一个分支一套代码,那么为什么此时代码是一样的,如果工作中遇到一个分支上文件修改一半,临时需要去另一个分支继续修改文件时,需要如何操作呢?

 

一、及时commit代码

在new分支上把已经开发完成的部分代码commit掉,不push,然后切换到old分支修改代码,做完了commit,所有分支互不影响,这是一个理想的方法。

二、使用git stash

 

当在new分支上代码写到一半时,被要求解决old分支上的bug时,

在new分支上的时候在命令行输入:git stash 或 git stash save "备注信息"。

这样以后new分支代码就回到自己上一个commit了,直接git stash的话git stash的栈会直接给你一个hash值作为版本的说明,如果用git stash save “修改的信息”,git stash的栈会把你填写的“修改的信息”作为版本的说明。

 

接下来切到old分支修改代码完成commit,就又再回到new分支,输入:git stash pop 或 git stash apply stash@{0}

git stash list可以看到所有的版本信息:

这时候new分支上被搁置的代码就回来了。

 

用IDE工具的shelve的功能

有一些IDE工具提供了shelve的功能,shelve的意思是“将…搁在一边”,即把还没写完的代码先搁在一边。我开发都是使用jetbrains公司的IDEA和PhpStorm,它们就提供了shelve的功能,方法:

首先在IDE的底部找到“Changes”,点开会有local的选项卡,选中你要搁置的代码,点击右键,选择“Shelve Changes”,在提交的输入框中输入你的注释,以便回来的时候识别你需要的版本,点击“Shelve Changes”键即可。这时选项卡上会多一个“Shelf”的选项卡,里面就有你搁置的代码。

这时候你可以去old分支修改代码,改完了之后回到new分支,到“Shelf”选项卡下选择你要恢复的代码或者版本,点击右键选择“Unshelve Changes”,你的搁置的代码就回来了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值