Bagaimana cara menemukan tanggal komit pertama dalam repositori GitHub?

46

Diberikan repositori GitHub, bagaimana saya bisa dengan cepat menemukan tanggal komit pertamanya?

Saya sering ingin tahu berapa umur proyek itu, tetapi saya tidak dapat menemukan cara cepat untuk memulai sejarah komit untuk proyek dengan sejarah komit yang sangat lama.

Randomblue
sumber
1
Utas pada SO mungkin membantu. Bagaimana menampilkan komit pertama dengan 'git log' sepertinya git log --reverseakan menunjukkan komit dari yang paling awal hingga yang terbaru
batpigandme

Jawaban:

46

Klik tab "Wawasan" dari repositori yang ingin Anda lihat komit tertua, diikuti oleh sub-tab "Jaringan" di bilah menu kiri. Ketika halaman dimuat penuh (yaitu Anda dapat melihat banyak baris bergabung dan semua), tekan Shift+ untuk menuju komit pertama. Klik pada titik yang mewakili komit pertama dan Anda bisa mendapatkannya.

Catatan: Ini hanya berfungsi untuk repositori yang awalnya dibuat di GitHub, bukan repositori yang diimpor dari tempat lain (mis. Komit tidak terdaftar melalui GitHub sendiri). Juga, metode ini mungkin tidak selalu berfungsi jika repositori memiliki terlalu banyak fork.

Atau, Anda dapat mengkloning repositori ke mesin lokal Anda dan menjalankan perintah berikut:

git log --reverse

Komit repositori kemudian akan ditampilkan dalam urutan terbalik (komit terlama lebih dulu).

Ular naga
sumber
4
Tidak berfungsi jika repo memiliki terlalu banyak garpu.
Mike McKay
3
"Jaringan" ditemukan di bawah tab sisi "Grafik" (untuk berjaga-jaga)
Jedidja
Tidak berfungsi jika cabang default tidak memiliki komit paling awal.
Stop Harming Monica
Ada pertanyaan serupa tentang Stack Overflow. Maukah Anda mem-posting-silang jawaban ini?
Stevoisiak
-1tidak berfungsi --reverseuntuk mendapatkan komit terlama karena batas terjadi sebelum filter.
Pertanyaan Quolonel
14

Jika Anda sudah mengkloning repo, cukup gunakan perintah git seperti biasa:

// cd to repo
$ git log --reverse

itu akan menampilkan sejarah komit dalam urutan terbalik. LOL.-

Igor Parra
sumber
13

Jawaban Hydra mungkin tidak bekerja dengan proyek yang memiliki banyak fork: " Tidak dapat memuat grafik jaringan. Terlalu banyak fork untuk ditampilkan. "

Anda dapat memeriksa tab 'Kontributor' di bawah 'Grafik'

"Kontributor" tab di "Grafik"

Uladzimir
sumber
Jika Anda memilih tepi paling kiri grafik menggunakan kuas, lalu klik komit # untuk komuter pertama, Anda akan benar-benar melihat komit.
Gordon
@ Gordon yang tidak terlalu membantu, itu hanya menunjukkan semua komitmen untuk orang itu
Steven Penny
@ SevenPenny, pertanyaannya adalah bagaimana cara mendapatkan tanggal dari commit pertama. Memang, itu berantakan, tetapi jika Anda memilih hanya ujung paling kiri, Anda akan melihat komit pertama. Saya lebih suka situs khusus yang saya tautkan dalam jawaban saya di bawah .
Gordon
Tidak berfungsi jika cabang default tidak memiliki komit paling awal.
Stop Harming Monica
Ini adalah yang terbaik
Code Whisperer
1

Ini akan memberi Anda halaman terakhir:

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

Contoh:

$ 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

Sumber

Steven Penny
sumber
1

Berikut adalah situs yang hanya mencari komit pertama di GitHub, menghindari masalah dengan riwayat komit yang panjang dan terlalu banyak fork:

http://first-commit.com/

Diskusi tentang Berita Peretas .

... Yang mencatat bahwa ini hanya mengikis situs web, dan menghitung halaman apa yang harus dilompati. Akan jauh lebih baik menggunakan API.

Gordon
sumber
1
Tidak berfungsi jika cabang default tidak memiliki komit paling awal.
Stop Harming Monica
0

Anda dapat menggunakan alat sed unix untuk memfilter hanya tanggal komit pertama menggunakan

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

Saya pikir itu persis yang Anda butuhkan.

Petrillo
sumber
0

Anda dapat menggunakan ini aplikasi kecil ini https://firstcommit.netlify.com

shinework
sumber
1
Meskipun tautan ini dapat menjawab pertanyaan, lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini dan memberikan tautan untuk referensi. Jawaban hanya tautan dapat menjadi tidak valid jika halaman tertaut berubah. - Dari Ulasan
serenesat
-1

Ada cara untuk melakukannya dari antarmuka GitHub itu sendiri.

Buka halaman proyek dan pilih Codetab diikuti oleh Commitssub-tab seperti yang ditunjukkan di sini:

masukkan deskripsi gambar di sini

Itu membawa Anda ke daftar komitmen Anda. Jika Anda kemudian menggulir ke bagian bawah halaman, Anda dapat kembali ke masa lalu dengan mengklik Oldertombol.

Saya benar-benar tidak dapat menemukan cara untuk mengurutkannya sehingga komit ditampilkan dalam urutan menaik.

karancan
sumber
10
Saya sudah tahu itu. Pertanyaannya adalah untuk proyek dengan sejarah komit yang sangat panjang .
Randomblue
-2
git log --reverse --format="format:%ci" | sed -n 1p

Jika Anda ingin mendapatkannya dari baris perintah

darda
sumber