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

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


当前回答

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

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

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

其他回答

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();

你可以使用init bookmarklet导航到GitHub存储库的第一次提交。

INIT A bookmarklet to quickly get you to the first commit of a repo. Overview Being able to quickly navigate to the oldest commit in a repo is quite helpful. Go ahead and drag the bookmarklet (link) onto your bookmark bar and click it whenever you'd like to go to the first commit of a repo. Usage Go to any particular repo's landing page (e.g. like the one you're on) and click the bookmarklet, which will take you to the first page (initial commit). By default, it tracks the master branch, but if you change the branch on the landing page, it will go to that branch's first commit. Retrieved from README.md on GitHub


免责声明:在发布这个答案前几分钟,我对init进行了一个小的自述更新。

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

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

仅使用UI的另一个简单技巧是检查.gitignore或README文件的git历史记录。Md, 99%的情况下,你会很快发现第一次提交。