【日常开辟】Git Stash利用技巧
引言本日给各人详细分享下git stash 命令利用详情, 由于利用 Git 举行版本控制的过程中,你是否常常遇到如许的情况:正在举行一项功能开辟,代码写到一半,突然需要切换到其他分支去处理一些告急事务,但又不想提交这些未完成的代码?或者在拉取远程分支的最新代码之前,想要先生存当前工作区的修改状态? 这时候,git stash 命令就成为了你的得力助手。
一、git stash 基础命令
(一)存储当前工作区的修改
这个命令会将当前工作目录和暂存区的所有未提交的修改生存起来,包括新增、修改和删除的文件,并将其存储在一个栈结构中,每个存储都可以附带一个形貌信息(message),以便后续识别。执行该命令后,工作区会恢复到近来一次提交时的状态,你可以放心地举行其他利用,比如切换分支、拉取代码等。
[*]示例模板::git stash save
# 没有message
git stash
# 有message
git stash save '正在开发的新功能,未完成阶段'
(二)查看存储列表
该命令的输出通常是一个列表,每个条目代表一个已生存的 stash
git stash list
https://i-blog.csdnimg.cn/direct/18597cfa88d84214ae29eb8c3368552d.png
二、查看存储的内容
(一)查看特定存储的详细内容
显示哪些文件被修改、新增或删除,让你快速相识存储的大致内容
[*]示例模板::git stash show -p
[*]-p 选项表示以补丁的形式展示存储的内容,stash@{0} 表示最新的一次存储(n 从 0 开始递增,代表存储的次序)。
git stash show -p stash@{0}
https://i-blog.csdnimg.cn/direct/04b50b2541d64ef6a68f785deae2f454.png
(二)查看特定存储修改的文件列表
此命令只会列出被修改的文件列表,不显示具体的代码修改细节
[*]示例模板::git stash show
git stash show stash@{1}
https://i-blog.csdnimg.cn/direct/2a66da9aeae44de6a65fc7bdbf782942.png
三、恢复存储的修改
(一)恢复并删除存储
这个命令会将指定的存储(stash@{0})从栈中弹出,并将其中的修改应用到当前工作目录。如果在应用过程中遇到冲突,Git 会像合并分支时一样标记出冲突的部门,需要你手动解决冲突后再提交。一旦应用成功,该存储就会从存储列表中删除
[*]示例模板::git stash pop
git stash pop stash@{0}
(二)恢复但不删除存储
apply 命令与 pop 雷同,会将指定存储(stash@{0})的修改应用到当前工作目录,但不同的是,它不会从存储列表中删除该存储。 这意味着你可以多次应用同一个存储,或者在应用后仍然生存存储记载,以便后续参考或在其他分支上应用
[*]示例模板::git stash apply
git stash apply stash@{0}
# 默认是应用第一个
git stash apply
四、管理存储记载
(一)删除单个存储记载
当你确定不再需要某个特定的存储记载(stash@{3})时,可以利用这个命令将其从存储列表中删除,开释存储空间并保持存储列表的整洁。如果不指定 stash@{n},则默认删除最新的存储记载,以是在利用时要格外警惕,确保删除的是你真正不再需要的存储。
[*]示例模板::git stash drop
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>
git stash branch new-branch stash@{0}
六、总结
git stash 是一个强大而灵活的 Git 工具,它为我们在复杂的开辟过程中提供了便捷的代码变更管理方式。通过公道运用 git stash 的各种命令,我们可以在不影响代码版本历史的前提下,轻松地切换工作上下文,生存和恢复未完成的代码修改,以及对存储记载举行有效的管理.
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]