如何查看 Git 暂存中的更改

GitGitBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Git stash 是一项强大的功能,它允许你临时保存本地更改而无需提交。在本教程中,你将学习如何查看 Git stash 中的更改,以及如何有效地管理和处理已暂存的更改。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/DataManagementGroup(["Data Management"]) git/BasicOperationsGroup -.-> git/status("Check Status") git/BasicOperationsGroup -.-> git/diff("Compare Changes") git/DataManagementGroup -.-> git/stash("Save Changes Temporarily") git/DataManagementGroup -.-> git/restore("Revert Files") subgraph Lab Skills git/status -.-> lab-415015{{"如何查看 Git 暂存中的更改"}} git/diff -.-> lab-415015{{"如何查看 Git 暂存中的更改"}} git/stash -.-> lab-415015{{"如何查看 Git 暂存中的更改"}} git/restore -.-> lab-415015{{"如何查看 Git 暂存中的更改"}} end

理解 Git Stash

Git Stash 是 Git 中的一项强大功能,它允许你临时保存本地更改而无需提交。当你需要切换到不同的分支或任务,但又不想丢失已完成的工作时,这一功能特别有用。

当你暂存更改时,Git 会创建一个新的暂存条目,其中包含工作目录和索引的当前状态。然后,你可以切换到不同的分支,处理其他事情,之后再恢复暂存的更改。

Git Stash 的主要用例包括:

  1. 切换分支:当你需要切换到不同的分支,但有未提交的更改时,你可以暂存更改,切换到另一个分支,然后稍后应用暂存的更改。

  2. 应用部分更改:如果你有一些想要分别提交的混合更改,可以暂存你不想立即提交的更改,提交你想要提交的更改,然后稍后应用暂存的更改。

  3. 清理工作区:如果你的工作目录中有许多未跟踪或已修改的文件,可以在从远程存储库拉取或合并更改之前,将它们暂存以清理工作区。

要使用 Git Stash,可以运行以下命令:

## 暂存你当前的更改
git stash

## 列出所有暂存的更改
git stash list

## 应用最新的暂存
git stash apply

## 应用特定的暂存
git stash apply stash@{index}

## 删除最新的暂存
git stash drop

## 应用并删除最新的暂存
git stash pop

通过理解 Git Stash 的基础知识,你可以有效地管理本地更改,并在不丢失工作的情况下在任务或分支之间切换。

查看暂存中的更改

在你暂存更改之后,可能想要查看实际暂存了哪些内容。Git 提供了几种方法来查看暂存中的更改。

列出暂存的更改

要查看所有暂存更改的列表,可以使用 git stash list 命令:

git stash list

这将显示所有暂存的更改,包括提交消息、暂存更改时所在的分支以及暂存索引。

查看暂存的差异

要查看实际暂存的更改,可以使用 git stash show 命令。这将显示暂存更改与仓库当前状态之间的差异。

## 查看最新暂存的差异
git stash show

## 查看特定暂存的差异
git stash show stash@{index}

你还可以添加 -p--patch 选项以查看完整的补丁,而不仅仅是摘要:

git stash show -p
git stash show stash@{index} -p

查看暂存中的文件

如果你想查看暂存的文件列表,可以使用 git stash show --name-only 命令:

## 显示最新暂存中的文件
git stash show --name-only

## 显示特定暂存中的文件
git stash show stash@{index} --name-only

这将显示在暂存更改中被修改、添加或删除的文件列表。

通过了解这些命令,你可以轻松查看当前暂存的更改,这在决定如何应用或管理这些更改时会很有帮助。

管理暂存的更改

在你暂存更改之后,可能需要以各种方式管理这些暂存的更改。Git 提供了几个命令来帮助你完成此操作。

应用暂存的更改

要应用最新暂存的更改,可以使用 git stash apply 命令:

git stash apply

这会将最新暂存的更改应用到你当前的工作目录和索引中。

如果你想应用特定的暂存,可以使用 stash@{index} 语法来指定要应用的暂存:

git stash apply stash@{2}

删除暂存的更改

如果你不再需要某个暂存的更改,可以使用 git stash drop 命令将其从暂存列表中删除:

## 删除最新的暂存
git stash drop

## 删除特定的暂存
git stash drop stash@{2}

一步完成应用和删除

如果你想应用一个暂存然后立即删除它,可以使用 git stash pop 命令:

## 应用并删除最新的暂存
git stash pop

## 应用并删除特定的暂存
git stash pop stash@{2}

这是一种在单个步骤中应用暂存并将其从暂存列表中删除的便捷方法。

清除整个暂存

如果你想删除所有暂存的更改,可以使用 git stash clear 命令:

git stash clear

这将从暂存列表中删除所有暂存的更改。

通过了解这些命令,你可以有效地管理暂存的更改,在需要时应用它们,不再需要时删除它们,并保持暂存列表的整洁和有序。

总结

通过本指南的学习,你将对如何查看 Git 暂存中的更改,以及如何管理和处理暂存的更改有扎实的理解。这些知识将帮助你保持 Git 仓库的有序性,并简化你的开发工作流程。