详解 git stash

git stash 详解

git stash 命令及其参数功能。

在 Git 中,stash 是一种暂存工作区更改的方法,它允许您暂时保存未提交的更改,并将当前工作目录恢复到上次提交的状态。这对于需要切换分支处理其他问题、或者当前工作尚未完成但需要清理工作区以拉取或合并其他分支时非常有用。

以下是 git stash 命令的基本用法和参数:

  1. 基本操作:

    • git stash:此命令会将当前工作目录中的所有未提交更改(包括已添加至暂存区的)保存到一个新的 stash 项目中,并重置工作目录为上一次提交的状态。
    • git stash list:显示所有已缓存的 stash 列表及其简短描述。
  2. 应用 stash:

    • git stash apply [stash@{n}]:从 stash 列表中取出并应用指定编号(n)的 stash,如果没有指定,则默认使用最近的一个 stash。注意,这并不会删除stash,它仍然存在于列表中。
    • git stash pop:与 apply 类似,但它会在应用 stash 后立即将其从 stash 列表中移除。
  3. 创建并应用 stash:

    • git stash save "message":可以自定义 stash 的描述信息,并执行 stash 操作。
    • git stash branch <branchname> [<stash@{n}>]:基于某个 stash 创建新的分支,并自动应用该 stash 中的更改。
  4. 查看 stash 内容:

    • git stash show [-p | --patch] [<stash@{n}>]:显示指定 stash 包含的更改详情,如果不指定 stash 编号,则默认显示最近的 stash。加上 -p--patch 参数可以看到差异补丁格式的详细内容。
  5. 删除 stash:

    • git stash drop [<stash@{n}>]:删除指定的 stash,不指定则删除最近的 stash。
  6. 合并 stash:

    • git stash apply --indexgit stash pop --index:如果stash包含索引修改(即暂存区的更改),这个选项会使Git尝试将这些更改精确地应用回暂存区,而不仅仅是工作目录。
  7. 清除所有 stash(谨慎操作):

    • git stash clear:删除所有stash。

请注意,在实际工作中合理使用 stash 功能,尤其是在处理重要变更时确保数据安全,避免因误操作导致代码丢失。同时,结合实际情况灵活运用上述命令和参数,有助于更好地管理和维护你的 Git 工作流程。



欢迎关注公-众-号【TaonyDaily】、留言、评论,一起学习。

公众号

Don’t reinvent the wheel, library code is there to help.

文章来源:刘俊涛的博客


若有帮助到您,欢迎点赞、转发、支持,您的支持是对我坚持最好的肯定(_)

posted @ 2024-02-27 17:46  刘俊涛的博客  阅读(208)  评论(0编辑  收藏  举报