如何查看 Git 中本地存储库的最新更改?

How view recent changes to local repo in Git?

我正在处理一个包含大量文件的大型存储库。我对其中的许多内容进行了微小的更改(并且没有提交任何内容),并且希望能够循环浏览更改历史以准确查看更改的内容;类似于使用 git stash -p 命令时发生的情况。这可能吗?

差不多:我在不同的文件中更改了很多小东西,然后有些东西坏了,我想弄清楚是哪个更改导致了所有问题。

假设:

  • 你什么都没做
  • 您不想使用 GUI

选项:

  • git status 告诉你什么 你已经改变了(很明显)
  • git diff(它告诉您如果您执行 git add
  • 上演什么
  • git diff [branchname/commit](它告诉您工作树和 branchname/commit 之间的区别 - 所以 git diff HEADgit diff master 很有用)
  • 如果需要补丁文件请添加--patch
  • 如果需要统计信息,请添加 --stat

您可以使用 Tortoise Git 软件,它会为您提供一个 GUI 来查看每个文件中的所有更改。

然后转到您的存储库,右键单击(假设您使用的是 windows)并将鼠标悬停在 TortoiseGit 选项上,然后选择 检查修改选项卡如下图所示

这将打开一个新对话框,供您检查修改了哪个文件以及所有详细信息。

此对话框将向您显示工作树中以任何方式更改的每个文件,以及您可能拥有的任何未版本控制的文件。

对话框使用颜色编码来突出显示状态。

蓝色

本地修改的项目。

紫色

添加的项目。已添加历史记录的项目在文本状态列中有一个 + 号,并且工具提示会显示项目的复制来源。

深红色

已删除或丢失项目。

绿色

在本地和存储库中修改的项目。更改将在更新时合并。这些可能会在更新时产生冲突。

大红色

项目在本地修改并在存储库中删除,或在存储库中修改并在本地删除。这些将在更新时产生冲突。

黑色

未更改和 un-versioned 项。

从对话框的上下文菜单中,您可以显示更改的差异。使用 上下文菜单 → 与基本 比较,检查您所做的本地更改。使用上下文菜单→显示差异作为统一差异

检查其他人在存储库中所做的更改

您还可以还原单个文件中的更改。如果您不小心删除了一个文件,它会显示为丢失,您可以使用恢复来恢复它。

可以使用上下文菜单→删除从此处将未版本控制和忽略的文件发送到回收站。如果您想永久删除文件(绕过回收站),请在单击删除的同时按住 Shift 键。

如果您想详细检查文件,可以将其从此处拖到另一个应用程序中,例如文本编辑器或 IDE。

列是可自定义的。如果您右键单击任何列 header,您将看到一个上下文菜单,允许您 select 显示哪些列。您还可以使用将鼠标移到列边界上时出现的拖动手柄来更改列宽。这些自定义设置会保留,因此您下次会看到相同的标题。

在对话框的底部,您可以看到工作树中正在使用的存储库修订范围的摘要。这些是提交修订,而不是更新修订;它们代表这些文件最后提交的修订范围,而不是它们更新到的修订范围。请注意,显示的修订范围仅适用于显示的项目,而不适用于整个工作树。如果您想查看整个工作树的信息,您必须选中显示未修改的文件复选框。