如何在GitHub存储库中找到第一次提交的日期?


45

给定GitHub存储库,我如何快速找到其首次提交日期?

我经常想知道项目的历史,但是对于提交历史很长的项目,我找不到快速的方法来开始提交历史。


1
在SO线程可能会有所帮助如何显示最早由“git的日志”提交的模样git log --reverse会显示从最早提交到最近的
batpigandme

Answers:


46

单击要查看最早提交的存储库的“ Insights”选项卡,然后单击左侧菜单栏上的“ Network”子选项卡。页面完全加载后(即,您可以看到很多行连接在一起),请按Shift+ 一直到第一次提交。单击代表第一次提交的点,您可以获取它。

注意:这仅适用于最初在GitHub上创建的存储库,不适用于从其他位置导入的存储库(即,未通过GitHub本身注册的提交)。另外,如果存储库中有太多的派生,则此方法不一定有效。

或者,您可以将存储库克隆到本地计算机,然后运行以下命令:

git log --reverse

然后将以相反的顺序显示存储库的提交(最早的提交在前)。


4
如果存储库中的分叉过多,则无法使用。
Mike McKay 2015年

3
在“图表”侧标签下找到“网络”(以防万一)
Jedidja

如果默认分支没有最早的提交,则不起作用。
停止危害莫妮卡

堆栈溢出也有类似的问题。您介意交叉发布此答案吗?
Stevoisiak

-1无法使用--reverse获取最早的提交,因为限制发生在过滤器之前。
Quolonel问题

14

如果您已克隆存储库,则只需照常使用git命令:

// cd to repo
$ git log --reverse

它将以相反的顺序向您显示提交的历史记录。大声笑。-


13

Hydra的答案可能不适用于包含许多分支的项目:“ 无法加载网络图。显示的分支太多。

您可以在“图表”下选中“贡献者”标签

“图表”中的“贡献者”标签


如果使用笔刷选择图的最左边缘,然后单击第一个提交者的#个提交,则实际上将看到这些提交。
哥顿

@Gordon并不是很有帮助,它只是显示该人的所有提交
Steven Penny

@StevenPenny,问题是如何获取第一次提交的日期。当然,这很混乱,但是如果仅选择最左边,则会看到第一个提交。我更喜欢在下面的答案中链接的专用站点。
戈登

如果默认分支没有最早的提交,则不起作用。
停止危害莫妮卡

这是最好的
耳语者

1

这将为您提供最后一页:

#!/bin/sh
url=https://github.com/$1/$2/commits?page=
up=1
while :
do
  printf '%s%d\t' $url $up
  if wget -q --spider $url$up
  then
    echo OK
    lw=$up
    up=$((up * 2))
  else
    echo Not Found
    break
  fi
done
while :
do
  k=$(((lw + up) / 2))
  if [ $k = $lw ]
  then
    break
  fi
  printf '%s%d\t' $url $k
  if wget -q --spider $url$k
  then
    echo OK
    lw=$k
  else
    echo Not Found
    up=$k
  fi
done

例:

$ github.sh jp9000 OBS
https://github.com/jp9000/OBS/commits?page=1    OK
https://github.com/jp9000/OBS/commits?page=2    OK
https://github.com/jp9000/OBS/commits?page=4    OK
https://github.com/jp9000/OBS/commits?page=8    OK
https://github.com/jp9000/OBS/commits?page=16   OK
https://github.com/jp9000/OBS/commits?page=32   OK
https://github.com/jp9000/OBS/commits?page=64   OK
https://github.com/jp9000/OBS/commits?page=128  Not Found
https://github.com/jp9000/OBS/commits?page=96   Not Found
https://github.com/jp9000/OBS/commits?page=80   Not Found
https://github.com/jp9000/OBS/commits?page=72   OK
https://github.com/jp9000/OBS/commits?page=76   OK
https://github.com/jp9000/OBS/commits?page=78   OK
https://github.com/jp9000/OBS/commits?page=79   OK

资源



0

您可以使用unix sed工具使用以下命令过滤首次提交的日期:

git log --reverse | sed -n -e "3,3p" 

我认为这正是您需要的。


-1

有一种方法可以从GitHub接口本身实现。

转到项目页面,然后选择Code选项卡,然后选择Commits子选项卡,如下所示:

在此处输入图片说明

这将使您进入提交列表。如果然后滚动到页面底部,则可以通过单击Older按钮来保持时光倒流。

我真的找不到一种方法可以对提交进行升序显示。


10
我已经知道了 问题是提交历史很长的项目
Randomblue

-2
git log --reverse --format="format:%ci" | sed -n 1p

如果要从命令行获取

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.