个性化阅读
专注于IT技术分析

Git stash用法详解

本文概述

有时你想切换分支, 但是你正在处理当前项目的不完整部分。你不想做半完成的工作。 Git隐藏可以使你做到这一点。 git stash命令使你可以在不提交当前分支的情况下切换分支。

下图演示了有关存储库和工作目录的存储的属性和作用。

Git stash用法详解

通常, 藏匿处的意思是“将物品安全地存储在隐藏的地方”。 Git中的隐匿感也相同; Git临时安全地保存你的数据而无需提交。

存放会使你的工作目录处于混乱状态, 并暂时将其保存以备将来使用。 git stash提供了许多选项。下面列出了一些有用的选项:

  • Git藏匿处
  • Git隐藏保存
  • Git存储列表
  • Git隐藏
  • Git隐藏
  • Git藏起来流行
  • Git藏匿下落
  • Git隐藏
  • Git藏匿处

藏匿工作

让我们通过实时场景来了解它。我在来自两个不同分支的两个文件中对我的项目GitExample2进行了更改。我处于混乱状态, 还没有完全编辑任何文件。因此, 我想暂时将其保存以备将来使用。我们可以将其存储以保存为当前状态。为了隐藏, 让我们看一下存储库的当前状态。要检查存储库的当前状态, 请运行git status命令。 git status命令用作:

句法:

$ git status

输出:

Git stash用法详解

从上面的输出中, 你可以看到存储库中有两个未跟踪的文件design.css和newfile.txt的状态。要临时保存它, 我们可以使用git stash命令。 git stash命令用作:

句法:

$ git stash

输出:

Git stash用法详解

在给定的输出中, 使用git stash命令保存工作。我们可以检查存储库的状态。

Git stash用法详解

如你所见, 我的工作只是停留在当前位置。现在, 目录已清理。此时, 你可以在分支之间切换并对其进行处理。

Git Stash Save(与消息一起保存垃圾)

在Git中, 可以通过消息隐藏更改。要存储一条消息更改, 请运行以下命令:

句法:

$ git stash save "<Stashing Message>"

输出:

Git stash用法详解

上面的存储将与消息一起保存

Git存储列表(检查存储的存储)

要检查存储的存储, 请运行以下命令:

句法:

$ git stash list

输出:

Git stash用法详解

在上述情况下, 我做了一个存储, 显示为“ stash @ {0}:测试中的WIP:0a1a475 CSS文件”。

如果我们有一个以上的存储, 那么它将分别显示具有不同存储ID的所有存储。考虑以下输出:

Git stash用法详解

它将显示索引为stash @ {0}:stash @ {1}:的所有存储库, 依此类推。

Git Stash申请

你可以使用git stash命令重新应用刚刚隐藏的更改。要应用提交, 请使用git stash命令, 然后是apply选项。它用作:

句法:

$ git stash apply

输出:

Git stash用法详解

上面的输出恢复了最后一个存储。现在, 如果你要检查存储库的状态, 它将显示对该文件所做的更改。考虑以下输出:

Git stash用法详解

从上面的输出中, 你可以看到存储库已还原到存储之前的先前状态。它显示输出为“未暂缓提交更改”。

如果存在多个存储, 则可以使用“ git stash apply”命令, 然后使用存储索引ID来应用特定的提交。它用作:

句法:

$ git stash apply <stash id>

考虑以下输出:

输出:

Git stash用法详解

如果我们没有指定存储, Git将获取最新的存储并尝试应用它。

Git隐藏

我们可以追踪藏匿处及其变化。要在存储之前和存储操作之后查看文件中的更改, 请运行以下命令:

句法:

$ git stash show

上面的命令将显示存放的文件以及对其进行的更改。考虑以下输出:

输出:

Git stash用法详解

上面的输出说明有两个文件被存放, 并对它们执行了两次插入。

我们可以准确跟踪对文件进行的更改。要显示文件的更改内容, 请执行以下命令:

句法:

$ git stash show -p

在这里, -p代表部分存储。给定的命令将显示编辑后的文件和内容, 请考虑以下输出:

输出:

Git stash用法详解

上面的输出显示内容已更改的文件名。它的作用与git diff命令相同。 git diff命令还将显示确切的输出。

Git Stash Pop(重新应用隐藏的更改)

Git允许用户使用git stash pop命令重新应用以前的提交。弹出选项将从存储中删除更改, 并将其应用到你的工作文件。

git stash pop命令与git stash apply非常相似。这两个命令之间的主要区别是stash pop命令, 该命令在应用了存储后将其从堆栈中删除。

句法:

$ git stash pop

上面的命令将先前的提交重新应用于存储库。考虑以下输出。

输出:

Git stash用法详解

Git Stash Drop(Unstash)

git stash drop命令用于从队列中删除存储。通常, 它会删除最新的存储。使用stash drop命令之前应格外小心, 因为一旦应用它就很难撤消。

还原它的唯一方法是在删除存储区后不关闭终端。 stash drop命令将用作:

句法:

$ git stash drop

输出:

Git stash用法详解

在以上输出中, 已从给定的三个存储中删除了最新存储(stash @ {0})。 stash list命令列出了队列中所有可用的存储。

我们还可以从队列中删除特定的存储。要从可用存储中删除特定存储, 请在存储放置命令中传递存储ID。它将被处理为:

句法:

$ git stash drop <stash id>

假设我的队列中有两个存储空间, 并且我不想删除最近的存储空间, 但是我想删除较旧的存储空间。然后, 将其操作为:

$ git stash drop stash@{1}

考虑以下输出:

Git stash用法详解

在以上输出中, 已将提交stash @ {1}从队列中删除。

Git隐藏

git stash clear命令允许一次删除所有可用的存储。要删除所有可用的存储, 请按以下命令操作:

句法:

$ git stash clear

它将删除存储库中存在的所有存储。

输出:

Git stash用法详解

以上输出中的所有存储都被删除。 git stash list命令为空, 因为存储库中没有可用的存储。

吉特藏匿处

如果你在某个分支上藏了一些工作, 然后继续在那个分支上工作。然后, 它可能在合并过程中产生冲突。因此, 最好将工作存储在单独的分支上。

git stash branch命令允许用户将工作存储在单独的分支上, 以避免冲突。该分支的语法如下:

句法:

$ git stash branch <Branch Name>

上面的命令将创建一个新分支, 并在该分支上转移隐藏的工作。考虑以下输出:

输出:

Git stash用法详解

在以上输出中, 将保存的工作转移到新创建的分支测试中。它将避免master分支上的合并冲突。


赞(0)
未经允许不得转载:srcmini » Git stash用法详解

评论 抢沙发

评论前必须登录!