Come trovo la data del primo commit in un repository GitHub?


46

Dato un repository GitHub, come posso trovare rapidamente la data del suo primo commit?

Spesso voglio sapere quanti anni ha il progetto, ma non riesco a trovare un modo rapido per iniziare le storie di commit per progetti con storie di commit molto lunghe.


1
Il thread su SO potrebbe essere utile Come mostrare il primo commit con 'git log' sembra git log --reversemostrare i commit dal più recente al più recente
batpigandme

Risposte:


46

Fare clic sulla scheda "Approfondimenti" del repository di cui si desidera visualizzare il commit più vecchio, seguito dalla sottoscheda "Rete" sulla barra dei menu di sinistra. Quando la pagina è completamente caricata (ovvero puoi vedere molte linee che si uniscono e tutte), premi Shift+ per andare fino al primo commit. Fai clic sul punto che rappresenta il primo commit e puoi ottenerlo.

Nota: funziona solo per i repository creati originariamente su GitHub, non per i repository che sono stati importati da un'altra posizione (ovvero commit non registrati tramite GitHub stesso). Inoltre, questo metodo potrebbe non funzionare necessariamente se il repository ha troppe fork.

In alternativa, è possibile clonare il repository sul computer locale ed eseguire il comando seguente:

git log --reverse

I commit del repository verranno quindi visualizzati in ordine inverso (prima il commit più vecchio).


4
Non funziona se il repository ha troppe forcelle.
Mike McKay,

3
"Rete" si trova nella scheda laterale "Grafici" (per ogni evenienza)
Jedidja,

Non funziona se il ramo predefinito non ha il commit precedente.
Smetti di fare del male a Monica il

C'è una domanda simile su Stack Overflow. Ti dispiacerebbe postare questa risposta?
Stevoisiak,

-1non funziona --reverseper ottenere il commit più vecchio perché il limite si verifica prima del filtro.
Quolonel Domande

14

Se hai clonato il repository, usa i comandi git come al solito:

// cd to repo
$ git log --reverse

ti mostrerà la storia dei commit in ordine inverso. LOL.-


13

La risposta di Hydra potrebbe non funzionare con progetti con molte forcelle: " Impossibile caricare il grafico di rete. Troppe forcelle da visualizzare " .

Puoi controllare la scheda "Collaboratori" in "Grafici"

Scheda "Collaboratori" in "Grafici"


Se selezioni il bordo sinistro del grafico usando il pennello, quindi fai clic su # commit per il primo committer, vedrai effettivamente i commit.
Gordon,

@Gordon che non è molto utile, mostra solo tutti gli impegni per quella persona
Steven Penny,

@StevenPenny, la domanda era solo come ottenere la data del primo commit. Certo, è disordinato, ma se selezioni solo il margine sinistro, vedrai il primo commit. Preferisco il sito dedicato che ho collegato nella mia risposta di seguito .
Gordon,

Non funziona se il ramo predefinito non ha il commit precedente.
Smetti di fare del male a Monica il

Questo è il migliore
Code Whisperer,

1

Questo ti porterà all'ultima pagina:

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

Esempio:

$ 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



0

È possibile utilizzare lo strumento unix sed per filtrare solo la data del primo commit utilizzando

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

Penso che sia esattamente ciò di cui hai bisogno.


0

Puoi usare questa piccola app https://firstcommit.netlify.com


2
Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il collegamento come riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. - Dalla recensione
serenesat

-1

C'è un modo per farlo dall'interfaccia GitHub stessa.

Vai alla pagina del progetto e seleziona la Codescheda seguita dalla Commitssottoscheda come mostrato qui:

inserisci qui la descrizione dell'immagine

Questo ti porta alla tua lista di commit. Se poi scorri fino alla fine della pagina, puoi continuare a tornare indietro nel tempo facendo clic sul Olderpulsante.

Non riuscivo davvero a trovare un modo per ordinarlo in modo che i commit mostrati in ordine crescente.


10
Lo sapevo già. La domanda era per progetti con storie di commit molto lunghe .
Randomblue,

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

Se vuoi ottenerlo da una riga di comando

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.