З огляду на сховище GitHub, як я можу швидко знайти дату його першого введення?
Мені часто хочеться дізнатися, скільки років проекту, але я не можу знайти швидкого способу отримати початок історії виконання проектів з дуже довгими історіями комісій.
З огляду на сховище GitHub, як я можу швидко знайти дату його першого введення?
Мені часто хочеться дізнатися, скільки років проекту, але я не можу знайти швидкого способу отримати початок історії виконання проектів з дуже довгими історіями комісій.
Відповіді:
Клацніть на вкладці "Статистика" сховища, в якому ви хочете побачити найстарішу фіксацію, а потім на вкладці "Мережа" на лівій панелі меню. Коли сторінка повністю завантажена (тобто ви бачите безліч рядків, що приєднуються і всі), натисніть Shift+, ←щоб пройти весь шлях до першого введення. Клацніть на крапку, яка являє собою першу фіксацію, і ви можете її отримати.
Примітка. Це працює лише для сховищ, створених на GitHub спочатку, а не для сховищ, імпортованих з іншого місця (тобто комісій, не зареєстрованих через сам GitHub). Також цей метод не обов'язково може працювати, якщо в сховищі є занадто багато вилок.
Крім того, ви можете клонувати сховище до локальної машини та виконати таку команду:
git log --reverse
Коміти сховища будуть показані у зворотному порядку (спочатку старе фіксує).
-1не працює з тим, --reverseщоб отримати найстаріший фіксатор, оскільки обмеження відбувається перед фільтром.
Якщо ви клонували репо, просто використовуйте команди git як завжди:
// cd to repo
$ git log --reverse
він покаже вам історію скоєнь у зворотному порядку. ЛОЛ.-
Відповідь Hydra може не працювати з проектами з великою кількістю вилок: " Не вдалося завантажити мережевий графік. Забагато вилок для відображення ".
Ви можете переглянути вкладку "Співавтори" у розділі "Графіки"
Це отримає останню сторінку:
#!/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, уникаючи проблем із довгою історією фіксації та занадто великою кількістю вилок:
Дискусія на новинах Хакерів .
... Що зазначає, що це просто вискоблювання веб-сайту та обчислення того, на яку сторінку перейти. Набагато краще було б скористатися API.
Існує спосіб зробити це з самого інтерфейсу GitHub.
Перейдіть на сторінку проекту та виберіть Codeвкладку, а потім Commitsпіддіб, як показано тут:

Це приведе вас до вашого списку комітетів. Якщо потім прокрутити донизу сторінки, ви можете продовжувати йти назад у часі, натискаючи Olderкнопку.
Я не міг знайти спосіб її сортувати так, щоб комісії відображалися у порядку зростання.
git log --reverseповідомлення від найдавніших до останніх