需求开发到一半需要改别的分支的bug该怎么办呢?(git stash 和 git commit)

简介: 需求开发到一半需要改别的分支的bug该怎么办呢?(git stash 和 git commit)

在实际开发中,经常我们会遇到需求开发到一半,别的分支有bug急需解决的情况,这个时候我们改怎么办呢?


有的人会说可以先提交当前分支的代码再切换到别的分支改bug,当然这样是没问题的,但是呢,在项目文件特别多的时候,我们改需求好不容易找到的文件位置,这个时候代码一提交,我们就无法看见下面的内容,导致于我们改完bug切换回来就很难分辨我们改了哪些文件了!


d805551b21f0489e8f63c7e01b512ea3.png

所以这个时候 我们会用上 git stash 或者 git commit

我们先看看git commit 怎么暂存代码的。

git commit 暂存代码

03a7eb7ffc0546aa838adb0899d0cd25.png

箭头指向的空格是我改动的,我现在要commit他

git add .
git commit -m'feat: 测试commit回撤'


现在可以随意切换分支了,我们改完别 分支再切换回来 进行回撤

git reset --soft HEAD^


这样就回撤了,而且不会清掉改动的代码

31f7419865c24e69bc558b7538b7a13b.png

git stash 暂存代码(推荐)

git stash

15c810a6b91b42de9a36827af43b9787.png

现在可以随意切换分支了,我们改完别 分支再切换回来 进行回撤

git stash list

29f4bf0d53854073ade7ae246d93b675.png


可以看到我们的暂存记录是stash@{0}这一条 我们再来恢复这个暂存

git stash pop stash@{0}

c82c92c92d13400a83bc0cc8ddc01016.png

已经完美恢复了。




目录
相关文章
|
10月前
|
存储 安全 开发工具
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
867 4
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
|
6月前
|
存储 缓存 数据处理
71_数据版本控制:Git与DVC在LLM开发中的最佳实践
在2025年的大模型(LLM)开发实践中,数据和模型的版本控制已成为确保项目可重复性和团队协作效率的关键环节。与传统软件开发不同,LLM项目面临着独特的数据版本控制挑战:
707 0
|
7月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
1810 15
|
开发工具 git
图解Git——分支的新建与合并《Pro Git》
在Git开发中,新建与合并分支是常见的操作。以实际开发为例:为实现新需求创建分支`iss53`进行开发;遇紧急Bug时,切换至线上分支创建`hotfix`修复并合并回线上分支,再切换回`iss53`继续工作。完成`iss53`后,切换到`master`合并。若出现冲突,使用`git status`查看,手动编辑解决冲突后标记为已解决并提交。图形化工具如`git mergetool`也可辅助解决冲突。
360 9
|
开发工具 git 开发者
图解Git——分支简介《Pro Git》
Git 分支是其核心特性之一,允许开发者从主开发线分离工作,避免干扰主线。传统版本控制系统创建分支效率低,而Git的分支创建和切换非常轻量高效。
735 9
|
9月前
|
API 开发工具 git
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
544 0
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
|
10月前
|
存储 人工智能 缓存
Git Commit规范:为什么有些公司要求变更行数限制?·优雅草卓伊凡
Git Commit规范:为什么有些公司要求变更行数限制?·优雅草卓伊凡
424 3
Git Commit规范:为什么有些公司要求变更行数限制?·优雅草卓伊凡
|
9月前
|
开发工具 git
使用Git下载指定版本或指定commit
使用Git下载指定版本或指定commit
|
开发工具 git 开发者
vscode+git解决远程分支合并冲突
通过这些详细步骤,您可以掌握如何使用VSCode和Git高效地解决远程分支合并冲突,提高开发效率和代码质量。希望这些内容对您的学习和工作有所帮助。
3207 86
|
人工智能 前端开发 Java
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
2216 60