Git -- git stash 暂存

使用 git 或多或少都会了解到 git stash 命令,但是可能未曾经常使用,下面简单介绍两种使用场景。

场景一:分支A开发,分支B解决bug

我们遇到最常见的例子就是,在当前分支 A 上开发写需求,但是 B 分支上有一个 bug 需要解决, 此时不能将 A 分支上的代码抛弃,应该怎么办?

方法一:提交当前分支 A 上的代码,然后再切换分支修改 bug。

但此时会出现,本地的代码有部分不想提交,比如存在一些测试代码,不必要的注释等等,就需要使用下一个方法。

方法二:git stash

bash 复制代码
# 1. 将代码保存到栈中
git stash 

# 2. 切换 B 分支,修改 bug
git checkout B 

# 3. 解决 bug 后,进行一系列 push 操作
git add .
git commit -m 'xxx'
git push

# 4. 切换开发分支 A 
git checkout A

# 5. 将之前的代码拿出来
git stash pop

场景二:解决冲突

在我们提交 commit 代码之前,需要拉取远程的代码,pull 一下,获取最新内容!

此时可能出现一个情况,当我们 push 代码之前,其他同事已经开发完合并代码,如果两个人在同一个文件进行修改,push 代码之后,在远端会出现冲突,为了避免该问题,将其放在本地解决冲突。

但是这个时候,git 不允许我们 pull 拉取代码,提示本地存在未提交代码,这个时候就需要进行下面操作:

bash 复制代码
# 1. 将未提交的改动存放到 git 栈里面
git stash

# 2. 获取远端最新代码
git pull

# 3. 将存放的代码取出
git stash pop

# 4. 本地处理可能出现的冲突

# 5. 提交代码
git commit -m 'xxx'
git push
相关推荐
雮尘1 天前
让 AI Agent 高效并行开发的命令-git worktree
人工智能·git·agent
南果梨2 天前
OpenClaw 完整教程!从安装到使用(官方脚本版)
前端·git·开源
Selicens3 天前
git批量删除本地多余分支
前端·git·后端
闲云一鹤4 天前
Git LFS 扫盲教程 - 你不会还在用 Git 管理大文件吧?
前端·git·前端工程化
vibecoding日记7 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
程序员小崔日记7 天前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传
Bigger8 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP9 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
红豆子不相思9 天前
Tomcat 环境搭建与集群实战
服务器·git·tomcat