Учитывая наличие репозитория GitHub, как я могу быстро найти дату его первого коммита?
Я часто хочу знать, сколько лет проекту, но я не могу найти быстрый способ начать историю фиксации для проектов с очень длинной историей фиксации.
Учитывая наличие репозитория GitHub, как я могу быстро найти дату его первого коммита?
Я часто хочу знать, сколько лет проекту, но я не могу найти быстрый способ начать историю фиксации для проектов с очень длинной историей фиксации.
Ответы:
Нажмите на вкладку «Insights» в хранилище, в котором вы хотите увидеть самый старый коммит, а затем на вкладке «Network» в левой строке меню. Когда страница полностью загружена (т. Е. Вы можете видеть множество соединяющихся строк и все), нажмите 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, избегая проблем с длинной историей коммитов и слишком большим количеством вилок:
Обсуждение Hacker News .
... Который отмечает, что это просто очистка веб-сайта и вычисление того, на какую страницу перейти. Было бы гораздо лучше использовать API.
Вы можете использовать это крошечное приложение https://firstcommit.netlify.com
Есть способ сделать это из самого интерфейса GitHub.
Перейдите на страницу проекта и выберите Code
вкладку, а затем Commits
вложенную вкладку, как показано здесь:
Это приводит вас к вашему списку коммитов. Если вы затем перейдете к нижней части страницы, вы можете вернуться назад во времени, нажав Older
кнопку.
Я не мог найти способ отсортировать его так, чтобы коммиты показывались в порядке возрастания.
git log --reverse
покажут коммиты из ранних до самого последнего