如何导航到Github存储库中最早的提交?

问题描述 投票:82回答:7

在GitHub中,有一种简单的方法可以导航到最早的大型开源项目提交吗?

截至今天,该项目已提交超过13,000份。我不想在提交历史记录页面上按下“较旧”按钮数百次,以达到初始提交(或第一次提交)。

github
7个回答
71
投票

克隆存储库,使用命令行打开并运行$ git log --reverse

这将以相反的顺序显示提交。

然后,一旦你拥有了第一次提交的ID(对象名称),就可以在github上查看它......类似于...... https://github.com/UserName/Repo/commit/6a5ace7b941120db5d2d50af6321770ddad4779e


42
投票

2015年2月:在GitHub中,是否有一种简单的方法可以导航到最早的大型开源项目提交?

是的,现在有! (含义:不克隆回购,并在本地克隆中应用git log

自2017年1月起,您在GitHub上拥有“Navigate file history faster with improved blame view”。

无论您是调试回归还是尝试了解某些​​代码如何具有当前形状,您通常都希望在特定更改之前查看文件的外观。 通过改进的责备视图,您可以轻松查看文件的任何部分如何随着时间的推移而演变,而无需查看文件的完整历史记录。

这是一个演示回到git/git repo本身最初的最早提交(47K +提交)......三次点击!

demo git/git

这里的诀窍是选择一个可能在第一次(或非常早)的提交中找到的文件,比如qazxsw poi。


39
投票

没有明显的UI可以做到这一点,但是有一种方法可以构建正确的URL以转到提交日志的第一页。

假设我们想要找到README.md的第一个提交。首先记下存储库中的提交数量:目前为16,634。现在转到提交列表,然后单击“较旧”一次。 URL将是这样的:dotnet/coreclr repository

注意https://github.com/dotnet/coreclr/commits/master?after=872095a758a3a6191a9798c94a98e8d1e16b2254+34部分。这就是跳过了多少次提交。将其更改为16,634减去每页减去35减35,这将为我们提供+34,它将您带到coreclr提交历史记录的第一页。


18
投票

我想看看this URL项目最早的提交之一。我做了以下事情。

  1. 访问了网站nodejs。然后观察到此时提交的总数约为二万三千(准确地说是23652)。

nodejs

  1. 接下来,我点击了提交链接,这将我带到enter image description here,如下所示。

https://github.com/nodejs/node/commits/master

  1. 现在滚动到最后,我找到了更新和更旧的按钮。更新按钮被禁用。我点击了旧按钮,它把我带到了enter image description here
  2. 现在观察网址是+34。现在我将其更改为23000(因为我观察到的提交数量是23000)。所以我尝试的新网址是

https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+34

  1. 现在我快到了。通过几次迭代或更旧的按钮点击,我到达了我想要的位置。

6
投票

您可以使用https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+23000导航到GitHub存储库的第一次提交。

INIT

一个init bookmarklet快速让你第一次提交回购。

Overview

能够快速导航到回购中最旧的提交是非常有帮助的。继续将bookmarklet拖到您的书签栏上,并在您想要第一次提交回购时单击它。

Usage

转到任何特定的repo的登录页面bookmarklet (link)并单击bookmarklet,它将带您进入第一页(初始提交)。默认情况下,它会跟踪(e.g. like the one you're on)分支,但如果您更改着陆页上的master,它将转到该分支的第一次提交。

branch


免责声明:我在发布此答案前几分钟贡献了Retrieved from README.md on GitHub


5
投票

你需要使用git的small Readme update to init命令。

这将以相反的顺序(从最旧到最新)返回指定仓库的提交历史记录。

然后,在一些git log --reverse魔法的帮助下,你可能会有类似第一次提交的日期(这是我见过的,我自己总是需要的)。

sed

最终,您可能也希望自动执行此操作(因为它主要是无法输入命令或者无法记住它),因此像git log --reverse | sed -n 3p 这样的shell脚本可能会受到拯救。


4
投票

您可以使用以下内容访问提交的第一页,我将其保留为Chrome开发工具中的一个片段。

this one
© www.soinside.com 2019 - 2024. All rights reserved.