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

到目前为止,该项目已经提交了超过13000次。我不想在提交历史页面上无数次地按下“旧”按钮才能到达最初的提交(或第一次提交)。


当前回答

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

是的,现在有了!(意思是:不克隆repo,在本地克隆应用git log)

自2017年1月以来,您可以在GitHub上“使用改进的责备视图更快地导航文件历史记录”。

无论您是在调试回归,还是试图理解某些代码是如何形成当前形状的,您通常都希望看到某个特定更改之前的文件是什么样子。 使用改进的责备视图,您可以轻松查看文件的任何部分是如何随着时间的推移而演变的,而无需查看文件的完整历史记录。

这里是一个演示,返回到git/git回购本身最初的最古老的提交(47K+提交)…点击三下!

这里的技巧是选择一个可能在第一次(或非常早期)提交中找到的文件,比如README.md。

其他回答

我想看看nodejs项目最早的一次提交。我已经做到了以下几点。

访问站点nodejs。然后观察到,此时提交的总数约为233,000次(准确地说是23652次)。

接下来,我点击了提交链接,将我带到https://github.com/nodejs/node/commits/master,如下所示。

现在向下滚动到底部,我找到了“更新”和“旧”按钮。“更新”按钮被禁用。我点击了旧的按钮,它把我带到了https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+34 现在可以看到url有+34。现在我将其更改为23000(因为我观察到的提交数量是23000)。我尝试的新网址是

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

现在我快到了。通过更多的迭代或旧的按钮点击,我达到了我想要的地方。

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

是的,现在有了!(意思是:不克隆repo,在本地克隆应用git log)

自2017年1月以来,您可以在GitHub上“使用改进的责备视图更快地导航文件历史记录”。

无论您是在调试回归,还是试图理解某些代码是如何形成当前形状的,您通常都希望看到某个特定更改之前的文件是什么样子。 使用改进的责备视图,您可以轻松查看文件的任何部分是如何随着时间的推移而演变的,而无需查看文件的完整历史记录。

这里是一个演示,返回到git/git回购本身最初的最古老的提交(47K+提交)…点击三下!

这里的技巧是选择一个可能在第一次(或非常早期)提交中找到的文件,比如README.md。

你可以通过下面的代码进入提交的第一页,我把它作为一个代码片段保存在Chrome开发工具中。

function githubFirstCommitsPage() {
  let el = document.querySelector('.repository-content');
  let commits = el.querySelector('[aria-label^=Commits]');
  let base = commits.closest('a').href;
  let count = commits.previousElementSibling
    .textContent
    .trim()
    .replace(/[^\d\.\-]/g, "");
  count = count-36;
  let sha = el
    .querySelector('[data-test-selector="commit-tease-commit-message"]')
    .href
    .split('/');
  sha = sha[sha.length-1];
  window.location = `${base}?after=${sha}+${count}`;   
}

githubFirstCommitsPage();

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

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

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

这个链接提供了一个在GitHub上做这件事的UI方式。简介:

“见解”选项卡 网络选项卡(左侧) Shift + <——