如何查看 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 HEAD
或 git diff master
很有用)
- 如果需要补丁文件请添加
--patch
- 如果需要统计信息,请添加
--stat
。
您可以使用 Tortoise Git 软件,它会为您提供一个 GUI 来查看每个文件中的所有更改。
然后转到您的存储库,右键单击(假设您使用的是 windows)并将鼠标悬停在 TortoiseGit 选项上,然后选择 检查修改选项卡如下图所示
这将打开一个新对话框,供您检查修改了哪个文件以及所有详细信息。
此对话框将向您显示工作树中以任何方式更改的每个文件,以及您可能拥有的任何未版本控制的文件。
对话框使用颜色编码来突出显示状态。
蓝色
本地修改的项目。
紫色
添加的项目。已添加历史记录的项目在文本状态列中有一个 + 号,并且工具提示会显示项目的复制来源。
深红色
已删除或丢失项目。
绿色
在本地和存储库中修改的项目。更改将在更新时合并。这些可能会在更新时产生冲突。
大红色
项目在本地修改并在存储库中删除,或在存储库中修改并在本地删除。这些将在更新时产生冲突。
黑色
未更改和 un-versioned 项。
从对话框的上下文菜单中,您可以显示更改的差异。使用 上下文菜单 → 与基本 比较,检查您所做的本地更改。使用上下文菜单→显示差异作为统一差异
检查其他人在存储库中所做的更改
您还可以还原单个文件中的更改。如果您不小心删除了一个文件,它会显示为丢失,您可以使用恢复来恢复它。
可以使用上下文菜单→删除从此处将未版本控制和忽略的文件发送到回收站。如果您想永久删除文件(绕过回收站),请在单击删除的同时按住 Shift 键。
如果您想详细检查文件,可以将其从此处拖到另一个应用程序中,例如文本编辑器或 IDE。
列是可自定义的。如果您右键单击任何列 header,您将看到一个上下文菜单,允许您 select 显示哪些列。您还可以使用将鼠标移到列边界上时出现的拖动手柄来更改列宽。这些自定义设置会保留,因此您下次会看到相同的标题。
在对话框的底部,您可以看到工作树中正在使用的存储库修订范围的摘要。这些是提交修订,而不是更新修订;它们代表这些文件最后提交的修订范围,而不是它们更新到的修订范围。请注意,显示的修订范围仅适用于显示的项目,而不适用于整个工作树。如果您想查看整个工作树的信息,您必须选中显示未修改的文件复选框。
我正在处理一个包含大量文件的大型存储库。我对其中的许多内容进行了微小的更改(并且没有提交任何内容),并且希望能够循环浏览更改历史以准确查看更改的内容;类似于使用 git stash -p
命令时发生的情况。这可能吗?
差不多:我在不同的文件中更改了很多小东西,然后有些东西坏了,我想弄清楚是哪个更改导致了所有问题。
假设:
- 你什么都没做
- 您不想使用 GUI
选项:
git status
告诉你什么 你已经改变了(很明显)git diff
(它告诉您如果您执行git add
, 会 上演什么
git diff [branchname/commit]
(它告诉您工作树和 branchname/commit 之间的区别 - 所以git diff HEAD
或git diff master
很有用)- 如果需要补丁文件请添加
--patch
- 如果需要统计信息,请添加
--stat
。
您可以使用 Tortoise Git 软件,它会为您提供一个 GUI 来查看每个文件中的所有更改。
然后转到您的存储库,右键单击(假设您使用的是 windows)并将鼠标悬停在 TortoiseGit 选项上,然后选择 检查修改选项卡如下图所示
这将打开一个新对话框,供您检查修改了哪个文件以及所有详细信息。
对话框使用颜色编码来突出显示状态。
蓝色
本地修改的项目。
紫色
添加的项目。已添加历史记录的项目在文本状态列中有一个 + 号,并且工具提示会显示项目的复制来源。
深红色
已删除或丢失项目。
绿色
在本地和存储库中修改的项目。更改将在更新时合并。这些可能会在更新时产生冲突。
大红色
项目在本地修改并在存储库中删除,或在存储库中修改并在本地删除。这些将在更新时产生冲突。
黑色
未更改和 un-versioned 项。
从对话框的上下文菜单中,您可以显示更改的差异。使用 上下文菜单 → 与基本 比较,检查您所做的本地更改。使用上下文菜单→显示差异作为统一差异
检查其他人在存储库中所做的更改您还可以还原单个文件中的更改。如果您不小心删除了一个文件,它会显示为丢失,您可以使用恢复来恢复它。
可以使用上下文菜单→删除从此处将未版本控制和忽略的文件发送到回收站。如果您想永久删除文件(绕过回收站),请在单击删除的同时按住 Shift 键。
如果您想详细检查文件,可以将其从此处拖到另一个应用程序中,例如文本编辑器或 IDE。
列是可自定义的。如果您右键单击任何列 header,您将看到一个上下文菜单,允许您 select 显示哪些列。您还可以使用将鼠标移到列边界上时出现的拖动手柄来更改列宽。这些自定义设置会保留,因此您下次会看到相同的标题。
在对话框的底部,您可以看到工作树中正在使用的存储库修订范围的摘要。这些是提交修订,而不是更新修订;它们代表这些文件最后提交的修订范围,而不是它们更新到的修订范围。请注意,显示的修订范围仅适用于显示的项目,而不适用于整个工作树。如果您想查看整个工作树的信息,您必须选中显示未修改的文件复选框。