GitHubリポジトリで最初のコミットの日付を見つけるにはどうすればよいですか?


45

GitHubリポジトリがある場合、最初のコミットの日付をすばやく見つけるにはどうすればよいですか?

プロジェクトの古さを知りたいことがよくありますが、コミット履歴が非常に長いプロジェクトのコミット履歴をすぐに開始する方法を見つけることができません。


1
SOのスレッドが役立つかもしれません'git log'で最初のコミットを表示する方法git log --reverseは、最も早いコミットから最新のコミットまでを表示するように見えます
-batpigandme

回答:


46

最も古いコミットを表示するリポジトリの「Insights」タブをクリックし、続いて左側のメニューバーにある「Network」サブタブをクリックします。ページが完全にロードされたら(つまり、多数の行が結合されていることをすべて確認できます)、Shift+ を押して最初のコミットまで進みます。最初のコミットを表すドットをクリックすると、取得できます。

注:これは、元々GitHubで作成されたリポジトリでのみ機能し、別の場所からインポートされたリポジトリでは機能しません(GitHub自体で登録されていないコミット)。また、リポジトリのフォークが多すぎる場合、この方法は必ずしも機能しない場合があります。

または、リポジトリをローカルマシンに複製して、次のコマンドを実行できます。

git log --reverse

リポジトリのコミットは、逆順で表示されます(最も古いコミットが最初に表示されます)。


4
リポジトリのフォークが多すぎる場合は機能しません。
マイクマッケイ

3
「ネットワーク」は「グラフ」
サイドタブの

デフォルトのブランチに最も早いコミットがない場合は機能しません。
停止ハーミングモニカ

スタックオーバーフローについて同様の質問があります。この回答をクロスポストしてもよろしいですか?
-Stevoisiak

-1--reverseフィルターの前に制限が発生するため、最も古いコミットを取得するために動作しません。
Quolonelの質問

14

リポジトリのクローンを作成した場合は、通常どおりgitコマンドを使用します。

// cd to repo
$ git log --reverse

コミットの履歴が逆順に表示されます。笑。-


13

ハイドラの答えは、フォークの多くを持っているプロジェクトで動作しない場合があります:「。ネットワークグラフをロードできませんでした。あまりにも多くのフォークを表示します

「グラフ」の下の「貢献者」タブを確認できます

「グラフ」の「貢献者」タブ


ブラシを使用してグラフの左端を選択し、最初のコミッターの#コミットをクリックすると、実際にコミットが表示されます。
ゴードン

@Gordonはあまり役に立たず、その人のすべてのコミットを表示するだけです
スティーブンペニー

@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

ソース


1

以下は、GitHubで最初のコミットのみを検索し、長いコミット履歴とフォークが多すぎるという問題を回避するサイトです。

http://first-commit.com/

ハッカーニュースに関する議論。

...これはWebサイトをスクレイピングし、ジャンプ先のページを計算しているだけであることに注意してください。APIを使用する方がはるかに良いでしょう。


1
デフォルトのブランチに最も早いコミットがない場合は機能しません。
停止ハーミングモニカ

0

Unix sedツールを使用して、最初のコミットの日付だけをフィルタリングすることができます

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

まさにあなたが必要だと思います。


-1

GitHubインターフェース自体からそれを行う方法があります。

プロジェクトページに移動し、Code次にCommits示すようにサブタブが続くタブを選択します。

ここに画像の説明を入力してください

これにより、コミットのリストが表示されます。その後、ページの一番下までスクロールすると、Olderボタンをクリックすることで時間をさかのぼることができます。

コミットが昇順で表示されるようにソートする方法を実際に見つけることができませんでした。


10
私はすでにそれを知っていました。問題は非常に長いコミット履歴のプロジェクトでした。
ランダムブルー

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

コマンドラインから取得したい場合

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.