后端砖头

Git不暂存提交代码也能切换到别的分支(vs code搭配Git

2023-03-02  本文已影响0人  涅槃快乐是金

问题描述

假设有这样一个场景需求:

操作演示步骤

下载GitLens — Git supercharged插件

笔者也推荐大家使用这个可视化Git工具,虽然不怎么用这个可视化工具操作代码,不过用于看自己提交的代码操作,还是比较直观的。

vscode拓展下载

下载成功

演示操作图解

假设有两个分支,git branch查看一下

我们当下在dev分支愉快地写代码呢

// 原来代码
console.log('我是开发分支')
console.log('我是开发分支')
console.log('我是开发分支')

// 写了一半,写成了
console.log('愉快地写代码')
console.log('愉快地写代码')
console.log('愉快地写代码')

当我们想要直接切换分支时,git会有对应错误警告,因为代码还没add还没commit

error: Your local changes to the following files would be overwritten by checkout:
        home.js
Please commit your changes or stash them before you switch branches.
Aborting
/*
错误:切换分支时将覆盖对以下文件的本地更改:home.js
请在切换分支之前提交更改或将其隐藏。
正在中止
*/ 

大家看到了吧,实际上Git已经对我们进行提示了,不要直接切换分支,否则就给你写的代码覆盖掉。当然你可以add commit以后再切换,或者执行stash相关命令将其隐藏。

我们可以执行命令git stash save "注释"将写了一半的代码隐藏起来,如下图:

也可以看STASHES中的详情

然后可以执行git status查看状态,发现工作树干净了,可以切换分支了

然后我们git checkout master,进行主分支代码修改,操作完毕以后,再切回dev分支上,再执行git stash pop命令,将我们刚刚隐藏在STASHES中的修改代码再弹出来即可继续愉快地写代码啦...,如下图:

git stash代码总结

将未写完的代码,隐藏到隐藏区,建议使用第一条,可以加一点注释,以便于回过头来查看(虽然二者是一个意思)

将隐藏区的代码取出来,恢复原样,建议使用第一条,取出即删除,不会产生冗余代码(相当于只有一份,丢进去,再拿出来);第二条相当于复制一份拿出来

再搭配GitLens Git supercharged插件可视化看效果,可以解决99%的代码未写完需要切换分支的需求。实际上git-stash可以命令也是非常多的,上述文章基本够用了,不够用的话我们再去看官方文档

官方文档地址: https://git-scm.com/docs/git-...

上一篇 下一篇

猜你喜欢

热点阅读