在GitHub中,有一种简单的方法可以导航到最早的大型开源项目提交吗?
截至今天,该项目已提交超过13,000份。我不想在提交历史记录页面上按下“较旧”按钮数百次,以达到初始提交(或第一次提交)。
克隆存储库,使用命令行打开并运行$ git log --reverse
这将以相反的顺序显示提交。
然后,一旦你拥有了第一次提交的ID(对象名称),就可以在github上查看它......类似于...... https://github.com/UserName/Repo/commit/6a5ace7b941120db5d2d50af6321770ddad4779e
2015年2月:在GitHub中,是否有一种简单的方法可以导航到最早的大型开源项目提交?
是的,现在有! (含义:不克隆回购,并在本地克隆中应用git log
)
自2017年1月起,您在GitHub上拥有“Navigate file history faster with improved blame view”。
无论您是调试回归还是尝试了解某些代码如何具有当前形状,您通常都希望在特定更改之前查看文件的外观。 通过改进的责备视图,您可以轻松查看文件的任何部分如何随着时间的推移而演变,而无需查看文件的完整历史记录。
这是一个演示回到git/git repo本身最初的最早提交(47K +提交)......三次点击!
这里的诀窍是选择一个可能在第一次(或非常早)的提交中找到的文件,比如qazxsw poi。
没有明显的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提交历史记录的第一页。
我想看看this URL项目最早的提交之一。我做了以下事情。
https://github.com/nodejs/node/commits/master
https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+34
您可以使用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。
你需要使用git的small Readme update to init命令。
这将以相反的顺序(从最旧到最新)返回指定仓库的提交历史记录。
然后,在一些git log --reverse
魔法的帮助下,你可能会有类似第一次提交的日期(这是我见过的,我自己总是需要的)。
sed
最终,您可能也希望自动执行此操作(因为它主要是无法输入命令或者无法记住它),因此像git log --reverse | sed -n 3p
这样的shell脚本可能会受到拯救。
您可以使用以下内容访问提交的第一页,我将其保留为Chrome开发工具中的一个片段。
this one