回答:
最も古いコミットを表示するリポジトリの「Insights」タブをクリックし、続いて左側のメニューバーにある「Network」サブタブをクリックします。ページが完全にロードされたら(つまり、多数の行が結合されていることをすべて確認できます)、Shift+ ←を押して最初のコミットまで進みます。最初のコミットを表すドットをクリックすると、取得できます。
注:これは、元々GitHubで作成されたリポジトリでのみ機能し、別の場所からインポートされたリポジトリでは機能しません(GitHub自体で登録されていないコミット)。また、リポジトリのフォークが多すぎる場合、この方法は必ずしも機能しない場合があります。
または、リポジトリをローカルマシンに複製して、次のコマンドを実行できます。
git log --reverse
リポジトリのコミットは、逆順で表示されます(最も古いコミットが最初に表示されます)。
-1
--reverse
フィルターの前に制限が発生するため、最も古いコミットを取得するために動作しません。
ハイドラの答えは、フォークの多くを持っているプロジェクトで動作しない場合があります:「。ネットワークグラフをロードできませんでした。あまりにも多くのフォークを表示します」
「グラフ」の下の「貢献者」タブを確認できます
これにより、最後のページが表示されます。
#!/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
以下は、GitHubで最初のコミットのみを検索し、長いコミット履歴とフォークが多すぎるという問題を回避するサイトです。
ハッカーニュースに関する議論。
...これはWebサイトをスクレイピングし、ジャンプ先のページを計算しているだけであることに注意してください。APIを使用する方がはるかに良いでしょう。
git log --reverse
は、最も早いコミットから最新のコミットまでを表示するように見えます