Como encontro a data do primeiro commit em um repositório GitHub?

46

Dado um repositório GitHub, como posso encontrar rapidamente a data de seu primeiro commit?

Muitas vezes, quero saber quantos anos o projeto tem, mas não consigo encontrar uma maneira rápida de chegar ao início dos históricos de consolidação de projetos com históricos de consolidação muito longos.

Randomblue
fonte
1
Tópico no SO pode ser útil Como mostrar primeira comprometer por 'git log' olha como git log --reverseirá mostrar commits de primeiras a mais recente
batpigandme

Respostas:

46

Clique na guia "Insights" do repositório que você deseja ver a confirmação mais antiga, seguida pela subguia "Rede" na barra de menus esquerda. Quando a página estiver totalmente carregada (ou seja, você pode ver muitas linhas se unindo e todas), pressione Shift+ para ir até o primeiro commit. Clique no ponto que representa o primeiro commit e você pode obtê-lo.

Nota: Isso funciona apenas para repositórios que foram criados no GitHub originalmente, não para repositórios que foram importados de outro local (ou seja, confirmações não registradas pelo próprio GitHub). Além disso, esse método pode não funcionar necessariamente se o repositório tiver muitos garfos.

Como alternativa, você pode clonar o repositório na sua máquina local e executar o seguinte comando:

git log --reverse

As confirmações do repositório serão mostradas na ordem inversa (confirmação mais antiga primeiro).

Hidra
fonte
4
Não funciona se o repositório tiver muitos garfos.
Mike McKay
3
"Network" é encontrado sob a aba lateral "Graphs" (apenas no caso)
Jedidja
Não funciona se o ramo padrão não tiver a confirmação mais antiga.
Stop Harming Monica
Há uma pergunta semelhante no Stack Overflow. Você se importaria de publicar esta resposta?
Stevoisiak 16/03/19
-1não funciona --reversepara obter a confirmação mais antiga porque o limite ocorre antes do filtro.
Quolonel Questions
14

Se você clonou o repositório, use os comandos git como de costume:

// cd to repo
$ git log --reverse

mostrará o histórico de confirmações na ordem inversa. RI MUITO.-

Igor Parra
fonte
13

A resposta da Hydra pode não funcionar com projetos que possuem muitos garfos: " Não foi possível carregar o gráfico da rede. Muitos garfos para exibição " .

Você pode verificar a guia "Colaboradores" em "Gráficos"

Guia "Colaboradores" em "Gráficos"

Uladzimir
fonte
Se você selecionar a borda esquerda do gráfico usando o pincel, clique no # commit para o primeiro commit, você realmente verá os commits.
Gordon
@Gordon que não é muito útil, isso só mostra todas as submissões para essa pessoa
Steven Penny
@StevenPenny, a questão era exatamente como obter a data do primeiro commit. Concedido, é confuso, mas se você selecionar apenas a borda esquerda, verá o primeiro commit. Prefiro o site dedicado vinculado na minha resposta abaixo .
Gordon
Não funciona se o ramo padrão não tiver a confirmação mais antiga.
Stop Harming Monica
Este é o melhor
Code Whisperer
1

Você receberá a última página:

#!/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

Exemplo:

$ 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

Fonte

Steven Penny
fonte
1

Aqui está um site que pesquisa apenas o primeiro commit no GitHub, evitando problemas com históricos de commit longos e muitos garfos:

http://first-commit.com/

Discussão sobre Hacker News .

... O que observa que isso está apenas raspando o site e calculando para qual página ir. Seria muito melhor usar a API.

Gordon
fonte
1
Não funciona se o ramo padrão não tiver a confirmação mais antiga.
Stop Harming Monica
0

Você pode usar a ferramenta unix sed para filtrar apenas a data da primeira confirmação usando

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

Eu acho que é exatamente o que você precisa.

Petrillo
fonte
0

Você pode usar este pequeno aplicativo https://firstcommit.netlify.com

trabalho de brilho
fonte
1
Embora esse link possa responder à pergunta, é melhor incluir aqui as partes essenciais da resposta e fornecer o link para referência. As respostas somente para links podem se tornar inválidas se a página vinculada for alterada. - Da avaliação
serenesat
-1

Existe uma maneira de fazer isso a partir da própria interface do GitHub.

Vá para a página do projeto e escolha a Codeguia seguida pela Commitssubguia, como mostrado aqui:

insira a descrição da imagem aqui

Isso leva você à sua lista de confirmações. Se você rolar até a parte inferior da página, poderá voltar no tempo clicando no Olderbotão

Eu realmente não consegui encontrar uma maneira de classificá-lo para que os commits sejam mostrados em ordem crescente.

karancan
fonte
10
Eu já sabia daquilo. A questão era para projetos com históricos de consolidação muito longos .
Randomblue
-2
git log --reverse --format="format:%ci" | sed -n 1p

Se você deseja obtê-lo em uma linha de comando

darda
fonte