📜  git apply stash - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:00:55.124000             🧑  作者: Mango

主题: 使用 git apply stash 命令还原工作区

介绍

git stash 命令可将当前修改的工作区暂时保存到堆栈(stash)中。在代码切换分支或者协作开发时,我们可能需要暂存当前工作区,以免不同分支之间的修改产生冲突。git stash 命令可以实现此目的。

当需要还原被暂存的工作区时,可以使用 git stash apply 命令。这个命令可以将指定的暂存区还原到当前分支的工作区,可以使用该命令查看被保存的修改,并将其应用到当前工作区。

使用方法

在终端中使用以下命令可以将当前的修改暂存:

$ git stash save "这是一个测试"

注意:stash 操作之后,当前分支回到之前的状态。

如果有需要还原之前的修改时,可以使用以下命令:

$ git stash apply

如果需要恢复指定的 stash,则可以使用以下命令:

$ git stash apply stash@{n}
  • stash@{n}:表示在 stash 堆栈中的第 n 个存储。
示例

以 Shell-Bash 为例,来演示使用 git apply stash 命令还原工作区的过程。

保存修改

首先,在工作区修改 file1.txt,并添加到暂存区:

$ touch file1.txt
$ git add .

现在,将当前工作区的修改暂存:

$ git stash save "添加了 file1.txt"
Saved working directory and index state WIP on master: 233f728 添加了 file1.txt

命令行输出了提示信息,当前修改已经被保存到 stash 中。

查看存储状态

如果有需要确认当前的 stash 存储状态,可以使用下面的命令查看:

$ git stash list
stash@{0}: WIP on master: 233f728 添加了 file1.txt

git stash list 命令可列出当前仓库中所有的存储的 stash 记录。

还原修改

在稍后需要还原修改的时候,可以执行以下命令:

$ git stash apply

此时,之前保存的修改已经被还原到了工作区。

手动解决冲突

如果当前修改与在当前分支上的其他更改冲突,则你需要手动解决冲突。冲突部分将被标注出来。

删除 stash 记录

如果需要删除 stash 记录,则可以使用以下命令:

$ git stash drop
总结

git stash 命令非常有用,在进行项目开发时可以使用它来暂存当前的修改。当需要还原修改时可以使用 git stash apply 命令来完成。如果需要查看或删除 stash 记录,可以使用 git stash listgit stash drop 命令来完成。