git的stash命令怎么应用


这篇文章主要讲解了“git的stash命令怎么应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“git的stash命令怎么应用”吧!首先要明白为什么在 Git 中暂存变更很重要。假设 Git 没有暂存变更的命令。当你正在一个有两个分支(A 和 B)的仓库上工作时,这两个分支已经分叉了一段时间,并且有不同的头。当你正在处理 A 分支的一些文件时,你的团队要求你修复 B 分支的一个错误。你迅速将你的修改保存到 A 分支(但没有提交),并尝试用git checkout B来签出 B 分支。Git 会立即中止了这个操作,并抛出错误:“你对以下文件的本地修改会被该签出覆盖……请在切换分支之前提交你的修改或将它们暂存起来。”在这种情况下,有几种方法可以启用分支切换:在分支 A 中创建一个提交,提交并推送你的修改,以修复 B 中的错误,然后再次签出 A,并运行git reset HEAD^来恢复你的修改。手动保留不被 Git 跟踪的文件中的改动。第二种方法是个馊主意。第一种方法虽然看起来很传统,但却不太灵活,因为保存未完成工作的修改会被当作一个检查点,而不是一个仍在进行中的补丁。这正是设计git stash的场景。git stash将未提交的改动保存在本地,让你可以进行修改、切换分支以及其他 Git 操作。然后,当你需要的时候,你可以重新应用这些存储的改动。暂存是本地范围的,不会被git push推送到远程。下面是使用git stash时要遵循的顺序:将修改保存到分支 A。
运行git stash。签出分支 B。修正 B 分支的错误。提交并(可选)推送到远程。查看分支 A运行git stash pop来取回你的暂存的改动。git stash将你对工作目录的修改存储在本地(在你的项目的.git目录内,准确的说是/.git/refs/stash),并允许你在需要时检索这些修改。当你需要在不同的上下文之间切换时,它很方便。它允许你保存以后可能需要的更改,是让你的工作目录干净同时保持更改完整的最快方法。暂存你的变化的最简单的命令是git stash:默认情况下,git stash存储(或称之为“暂存”)未提交的更改(已暂存和未暂存的文件),并忽略未跟踪和忽略的文件。通常情况下,你不需要暂存未跟踪和忽略的文 香港云主机件,但有时它们可能会干扰你在代码库中要做的其他事情。你可以使用附加选项让git stash来处理未跟踪和忽略的文件:git stash -ugit stash --includ-untracked储存未追踪的文件。git stash -agit stash --all储存未跟踪的文件和忽略的文件。要存储特定的文件,你可以使用git stash -pgit stash -patch命令:你可以用git stash list命令查看你的暂存。暂存是后进先出(LIFO)方式保存的:默认情况下,暂存会显示在你创建它的分支和提交的顶部,被标记为WIP。然而,当你有多个暂存时,这种有限的信息量并没有帮助,因为很难记住或单独检查它们的内容。要为暂存添加描述,可以使用命令git stash save :你可以用git stash applygit stash pop这两个命令来重新应用暂存的变更。这两个命令都会重新应用最新的暂存(即stash@{0})中的改动。apply会重新应用变更;而pop则会将暂存的变更重新应用到工作副本中,并从暂存中删除。如果你不需要再次重新应用被暂存的更改,则首选pop。你可以通过传递标识符作为最后一个参数来选择你想要弹出或应用的储藏:或删除不再需要的暂存是好的习惯。你必须用以下命令手动完成:git stash clear通过删除所有的暂存库来清空该列表。git stash drop 从暂存列表中删除一个特定的暂存。命令git stash show 允许你查看一个暂存的差异:要获得更详细的差异,需要传递--patch-p标志:你可能会遇到这样的情况:一个分支和你的暂存中的变更有分歧,当你试图重新应用暂存时,会造成冲突。一个简单的解决方法是使用git stash branch 命令,它将根据创建暂存时的提交创建一个新分支,并将暂存中的修改弹出:在极少数情况下,你可能需要创建一个暂存,同时保持暂存参考日志(reflog)的完整性。这些情况可能出现在你需要一个脚本作为一个实现细节来暂存的时候。这可以通过git stash create命令来实现;它创建了一个暂存条目,并返回它的对象名,而不将其推送到暂存参考日志中:有时,你可能会决定将通过git stash create创建的暂存条目推送到暂存参考日志:感谢各位的阅读,以上就是“git的stash命令怎么应用”的内容了,经过本文的学习后,相信大家对git的stash命令怎么应用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/15 12:44
下一篇 07/15 12:45

相关推荐