在GitHub中,有一种简单的方法可以导航到最早的大型开源项目提交吗?
截至今天,该项目已提交超过13,000份.我不想在提交历史记录页面上按下"较旧"按钮数百次,以达到初始提交(或第一次提交).
Sch*_*lzy 79
克隆存储库,使用命令行打开并运行 $ git log --reverse
这将以相反的顺序显示提交.
然后,一旦你拥有了第一次提交的ID(对象名称),你就可以在github上查看...就像...... https://github.com/UserName/Repo/commit/6a5ace7b941120db5d2d50af6321770ddad4779e
Rom*_*kov 50
没有明显的UI可以做到这一点,但是有一种方法可以构建正确的URL以转到提交日志的第一页.
假设我们想要找到dotnet/coreclr存储库的第一个提交.首先记下存储库中的提交数量:目前为16,634.现在转到提交列表,然后单击"较旧" 一次.URL将是这样的:https://github.com/dotnet/coreclr/commits/master?after=872095a758a3a6191a9798c94a98e8d1e16b2254+34
请注意该+34部分.这就是跳过了多少次提交.将其更改为16,634减去每页减去35减35,这将为您提供此URL,它将您带到coreclr提交历史记录的第一页.
Von*_*onC 43
2015 年 2月:在GitHub中,是否有一种简单的方法可以导航到最早的大型开源项目提交?
是的,现在有!(含义:不克隆回购,并git log在本地克隆中应用)
自2017年1月起,您可以在GitHub上" 更快地导航文件历史并改进责备视图 ".
无论您是调试回归还是尝试了解某些代码如何具有当前形状,您通常都希望在特定更改之前查看文件的外观.
通过改进的责备视图,您可以轻松查看文件的任何部分随着时间的推移如何演变,而无需查看文件的完整历史记录.
这是一个演示回到git/git repo本身的原始最早提交(47K +提交)......三次点击!
这里的诀窍是选择一个可能在第一次(或非常早)的提交中找到的文件,如a README.md.
Viv*_*Dev 20
我想看看nodejs项目最早的提交之一.我做了以下事情.
现在滚动到最后,我找到了更新和更旧的按钮.更新按钮被禁用.我点击了旧按钮,它转到了https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+34
现在观察网址是+34.现在我将其更改为23000(因为我观察到的提交数量是23000).所以我尝试的新网址是
https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+23000
您可以使用init bookmarklet导航到GitHub存储库的第一次提交。
在里面
一个书签,可让您快速进行回购的首次提交。
总览
能够快速导航到存储库中最旧的提交非常有帮助。继续,将小书签(链接)拖到书签栏上,然后在需要进行第一次回购时单击它。
用法
转到任何特定存储库的登录页面
(e.g. like the one you're on),然后单击书签,这将带您到第一页(初始提交)。默认情况下,它会跟踪master分支,但是如果您更改branch登录页面上的,它将转到该分支的首次提交。
免责声明:在发布此答案之前,我在几分钟内对init进行了小幅更新。
您可以通过以下内容进入提交的第一页,我将其保留为Chrome开发工具中的一部分。
function githubFirstCommitsPage() {
let el = document.querySelector('.repository-content');
let base = el.querySelector('a[data-pjax]').href;
let count = el.querySelector('.commits .num')
.textContent
.trim()
.replace(/[^\d\.\-]/g, "");
count = count-36;
let sha = el.querySelector('.commit-tease-sha')
.href
.split('/');
sha = sha[sha.length-1];
window.location = `${base}?after=${sha}+${count}`;
}
githubFirstCommitsPage();
Run Code Online (Sandbox Code Playgroud)
您需要使用git log --reversegit命令。
这将以相反的顺序(最旧到最新)返回指定仓库的提交历史。
然后,借助一些sed魔术,您可能会遇到第一次提交的日期(这是我一直看到的自己一直需要的日期)。
git log --reverse | sed -n 3p
Run Code Online (Sandbox Code Playgroud)
最终,你可能想以及(,因为它主要是要么无聊键入命令或只是不可能记住它)自动执行此,因此喜欢的shell脚本这一个可能前来救援。