论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
开源技术
›
开源技术
›
【日常开辟】Git Stash利用技巧
【日常开辟】Git Stash利用技巧
大连全瓷种植牙齿制作中心
金牌会员
|
2025-3-20 02:29:41
|
显示全部楼层
|
阅读模式
楼主
主题
942
|
帖子
942
|
积分
2841
引言
本日给各人详细分享下git stash 命令利用详情, 由于利用 Git 举行版本控制的过程中,你是否常常遇到如许的情况:
正在举行一项功能开辟,代码写到一半,突然需要切换到其他分支去处理一些告急事务,但又不想提交这些未完成的代码?或者在拉取远程分支的最新代码之前,想要先生存当前工作区的修改状态?
这时候,git stash 命令就成为了你的得力助手。
一、git stash 基础命令
(一)存储当前工作区的修改
这个命令会将当前工作目录和暂存区的所有未提交的修改生存起来,包括新增、修改和删除的文件,并将其存储在一个栈结构中,每个存储都可以附带一个形貌信息(message),以便后续识别。执行该命令后,工作区会恢复到近来一次提交时的状态,你可以放心地举行其他利用,比如切换分支、拉取代码等。
示例模板:
:git stash save [message]
# 没有message
git stash
# 有message
git stash save '正在开发的新功能,未完成阶段'
复制代码
(二)查看存储列表
该命令的输出通常是一个列表,每个条目代表一个已生存的 stash
git stash list
复制代码
二、查看存储的内容
(一)查看特定存储的详细内容
显示哪些文件被修改、新增或删除,让你快速相识存储的大致内容
示例模板:
:git stash show -p [stash@{n}]
-p 选项表示以补丁的形式展示存储的内容,stash@{0} 表示最新的一次存储(n 从 0 开始递增,代表存储的次序)。
git stash show -p stash@{0}
复制代码
(二)查看特定存储修改的文件列表
此命令只会列出被修改的文件列表,不显示具体的代码修改细节
示例模板:
:git stash show [stash@{n}]
git stash show stash@{1}
复制代码
三、恢复存储的修改
(一)恢复并删除存储
这个命令会将指定的存储(stash@{0})从栈中弹出,并将其中的修改应用到当前工作目录。如果在应用过程中遇到冲突,Git 会像合并分支时一样标记出冲突的部门,需要你手动解决冲突后再提交。一旦应用成功,该存储就会从存储列表中删除
示例模板:
:git stash pop [stash@{n}]
git stash pop stash@{0}
复制代码
(二)恢复但不删除存储
apply 命令与 pop 雷同,会将指定存储(stash@{0})的修改应用到当前工作目录,
但不同的是,它不会从存储列表中删除该存储。
这意味着你可以多次应用同一个存储,或者在应用后仍然生存存储记载,以便后续参考或在其他分支上应用
示例模板:
:git stash apply [stash@{n}]
git stash apply stash@{0}
# 默认是应用第一个
git stash apply
复制代码
四、管理存储记载
(一)删除单个存储记载
当你确定不再需要某个特定的存储记载(stash@{3})时,可以利用这个命令将其从存储列表中删除,开释存储空间并保持存储列表的整洁。如果不指定 stash@{n},则默认删除最新的存储记载,以是在利用时要格外警惕,确保删除的是你真正不再需要的存储。
示例模板:
:git stash drop [stash@{n}]
git stash drop stash@{3}
复制代码
(二)清空所有存储记载
如果你想要一次性删除所有的存储记载,利用 git stash clear
命令。这是一个比力“强力”的利用,由于它会将所有的存储记载都清除,不可逆地删除所有未应用的代码变更存储。在执行此命令之前,肯定要确认你已经不再需要这些存储,或者已经将其中紧张的修改应用到了工作区或者备份到了其他地方,以免造成数据丢失。
git stash clear
复制代码
五、git stash 的扩展用法
(一)存储特定文件或目录的修改
有时候,你大概并不想存储整个工作区的修改,而是只关注某些特定文件或目录的变更。--patch 选项答应你交互式地选择要存储的文件块,对于大型文件的部门修改非常有效;--keep-index 选项可以让你在存储修改时,保持暂存区的现有状态,即只存储工作区的修改,而不影响已经暂存的文件;--include-untracked 选项则会将未跟踪的文件也一并存储起来。
示例模板:
:git stash push [--patch] [--keep-index] [--include-untracked] [<pathspec>…]
git stash push --patch src/
复制代码
(二)从存储创建分支
如果你渴望基于某个存储的修改创建一个新的分支来继续开辟,可以利用这个命令。它会创建一个新的分支(new-branch),可以利用下面的命令
示例模板:
:git stash branch <new-branch-name> [stash@{n}]
git stash branch new-branch stash@{0}
复制代码
六、总结
git stash 是一个强大而灵活的 Git 工具,它为我们在复杂的开辟过程中提供了便捷的代码变更管理方式。通过公道运用 git stash 的各种命令,我们可以在不影响代码版本历史的前提下,轻松地切换工作上下文,生存和恢复未完成的代码修改,以及对存储记载举行有效的管理.
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
大连全瓷种植牙齿制作中心
金牌会员
这个人很懒什么都没写!
楼主热帖
初识C语言
记一次 .NET 某汽贸店 CPU 爆高分析 ...
浅入浅出 1.7和1.8的 HashMap
Net core中使用System.Drawing对上传的 ...
业务安全发展的三个阶段
前后端分离项目(八):后端报错Field ...
java学习第二天
计算数学算式的值
Python爬虫之基于selenium实现12306模 ...
Docker三种自定义网络(bridge、macvla ...
标签云
运维
CIO
存储
服务器
浏览过的版块
SAP
linux
Mysql
分布式数据库
快速回复
返回顶部
返回列表