在 Git 中跟踪命令历史

Git 是那些记录其开发人员所做更改的版本控制系统之一。 通过这些记录,我们可以跟踪各种早期的提交,哪些队友在什么时间做了什么更改,了解早期产生的错误以及在哪些版本中,以及更多使用这种技术的人。

Git 帮助我们跟踪随时间推移的提交,这有助于我们观察过去在 Git 存储库中所做工作的进展和历史记录。 Git 中的这段历史应该是可以导航的; 否则,保留历史是没有用的。

为此,Git 有两个功能:git reflog 和 git log 来查找历史记录。 这些命令将帮助我们快速浏览我们想要查看的历史记录。

在本文中,我们将在下面详细讨论 Git 的这些功能或命令。


使用 git log 命令跟踪 Git 中的命令历史记录

git log 是一个方便的工具,可以帮助我们查看我们在存储库中所做的一切的历史记录。 我们可以通过多种方式使用 git log,让我们的历史变得更加具体和概括。

它帮助我们查看过去的提交,以便我们可以观察我们队友的动作——谁在什么时间在哪个存储库中做了什么类型的活动。 它帮助我们使用过滤器查看、列出和过滤提交历史记录。

它使我们能够查看每个 git 提交及其哈希、与之链接的消息以及其元数据的详细信息。

git log 命令显示提交哈希、引用 ID、提交消息、作者、日期、其他提交元数据,以及它是否属于任何分支 HEAD。 这一切都是默认完成的,如下所示。

$ git log

我们可以使用各种子命令过滤 git log 命令的输出,这样我们就只能看到与我们想要的研究相关的信息。

使用 git log 命令过滤命令历史记录

当我们需要从过去的提交中搜索任何特定消息时,我们将不得不使用以下命令:

git log --grep="Cat"

上面的命令将从过去的提交历史中找到单词 Cat,并将结果与所有匹配的提交一起显示给用户。


使用 git reflog 命令跟踪 Git 中的命令历史记录

参考日志在 Git 中也称为 reflog。 此命令用于跟踪对分支尖端所做的更新以及存储库同一分支上的其他提交。

它帮助我们管理过去记录在其中的信息。 它帮助我们审查未被 Git 中任何分支或标记引用的提交。

如果我们想回到分支的旧状态,在重写历史之后是可能的,因为 reflog 允许我们随时回到那里并将当前头设置为它。

我们可以说我们在 Git 中所做的任何工作都存在于 reflog 中。 我们可以通过 reflog 访问它。

每当我们出于任何原因更新分支的提示时,reflog 都会将此条目添加到其中并根据它更新引用。

git reflog 命令默认给我们输出 HEAD 引用,使用如下:

$ git reflog

git reflog 命令是下面列出的命令的缩写形式:

$ git reflog show HEAD

上面的命令将向我们展示 Head reflog。

使用 git reflog 命令显示命令历史记录

下面提到的命令将向我们显示设备中本地存储库的 reflog。

git reflog --relative-date

上面的命令将向我们显示带有所需日期信息的 reflog(例如,3 周前)。

将执行以下命令以获取过去所有引用的完整 reflog:

$ git reflog show --all