遇到紧急Bug,写到一半的代码怎么办!
2024-07-17 14:35 阅读(313)

近期,由于个人发展和公司规划原因,我换了一个新东家,在新公司发现,经常有一个功能写到一半,说之前的功能逻辑有调整啦,功能执行有Bug等等原因,需要切换到之前分支去修改代码。那这时候,我写到一半的代码怎么办,提交吧可能影响环境且提交日志变多,不提交吧也不能丢弃,怎么办呢~

其实吧,git有个命令stash,git stash会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录。这样子就不用在提交代码还是丢弃代码之间做选择了!

需要说明一点,stash是本地的,不会通过git push命令上传到git server上。

实际应用中推荐给每个stash加一个message,用于记录版本,使用git stash save取代git stash命令。例如

git stash save "某某分支-某某时间-修改"

代码是暂存了,那我切换回来怎么把暂存的代码恢复过来呢?别急,可以使用git stash pop命令来恢复暂存的代码,但是该命令会将暂存的第一个记录删除并修改的代码恢复到代码中。


要恢复指定的暂存记录怎么弄啊?

# 可以通过该命令来查询所有的暂存记录
git stash list

# 可以通过该命令 + 名字 恢复指定记录 如:git stash apply stash@{0}
git stash apply [name]

# 删除指定记录
git stash drop [name]

# 清空所有记录
git stash clear

说实话,通过git命令来操作还是略微感觉麻烦,其实吧,idea里面也有这个功能,还是可视化的,用起来嘎嘎方便。

输入个message,点击create stash就把修改记录存好了,需要恢复就点Unstatush Changes,想恢复那个点那个

需要注意的是,如果一个记录第二次恢复的话,是会提示失败,代码有冲突的。


好了,今天就记录到这!