GitHub deposundaki ilk işlem tarihini nasıl bulabilirim?


45

GitHub deposu göz önüne alındığında, ilk işlem tarihini nasıl çabucak bulabilirim?

Sık sık projenin kaç yaşında olduğunu bilmek isterim, ancak çok uzun süren taahhüt geçmişi olan projeler için taahhüt geçmişinin başlangıcına ulaşmak için hızlı bir yol bulamıyorum.


1
SO üzerinde Konu yararlı olabilir ilk göstermek 'git log' tarafından işlemeye nasıl gibi görünüyor git log --reverseen yeni olan en erken gelen kaydedilmesini gösterecektir
batpigandme

Yanıtlar:


46

En eski işlemi görmek istediğiniz havuzun "Insights" sekmesine, ardından sol menü çubuğunda "Network" alt sekmesine tıklayın. Sayfa tamamen yüklendiğinde (yani, çok sayıda satırın birleştiğini görebilirsiniz), ilk işleme tam olarak gitmek için Shift+ tuşuna basın . İlk taahhüdü temsil eden noktaya tıklayın ve onu elde edebilirsiniz.

Not: Bu, yalnızca orijinal olarak GitHub'ta oluşturulan depolar için işe yarar, başka bir yerden içe aktarılan depolar için değil (GitHub’ın kendisi aracılığıyla kaydedilmemiş olan taahhütler). Ayrıca, depoda çok fazla çatal varsa, bu yöntem mutlaka çalışmayabilir.

Alternatif olarak, depoyu yerel makinenize kopyalayabilir ve aşağıdaki komutu çalıştırabilirsiniz:

git log --reverse

Deponun taahhütleri tersine sırayla gösterilecektir (ilk önce en eski işlem).


4
Depoda çok fazla çatal varsa, işe yaramaz.
Mike McKay

3
"Ağ", "Grafikler" yan sekmesi altında bulunur (sadece durumda)
Jedidja

Varsayılan dalın en erken taahhüdü yoksa işe yaramaz.
Monica

Bir var benzer soru Yığın taşması. Bu cevabı çapraz gönderir misiniz?
Stevoisiak

-1--reverseEn eski taahhüdü almak için çalışmaz, çünkü sınır filtreden önce gerçekleşir.
Quolonel Sorular

14

Depoyu klonladıysanız, her zamanki gibi git komutlarını kullanın:

// cd to repo
$ git log --reverse

Taahhütlerin tarihini ters sırada gösterecektir. LOL.-


13

Hydra'nın cevabı çok sayıda çatal bulunan projelerle çalışmayabilir: " Ağ grafiği yüklenemedi. Gösterilemeyecek kadar çok çatal var. "

'Grafikler' altındaki 'Katkıda Bulunanlar' sekmesini kontrol edebilirsiniz.

"Grafikler" deki "Katkıda Bulunanlar" sekmesi


Fırçayı kullanarak grafiğin en sol kenarını seçtiyseniz, ilk yorumcunun # taahhütlerini tıklayın, aslında taahhütleri göreceksiniz.
Gordon,

@ Gordon çok yararlı değil, o kişi için tüm taahhütleri gösterir
Steven Penny

@StevenPenny, soru sadece ilk işlemin tarihini nasıl alacağımızdı. Verilmiş, dağınık, ancak sadece en sol kenarı seçerseniz, ilk taahhüdü görürsünüz. Aşağıdaki cevabımdaki link verdiğim siteyi tercih ediyorum .
Gordon

Varsayılan dalın en erken taahhüdü yoksa işe yaramaz.
Monica

Bu en iyisi
Code Whisperer

1

Bu size son sayfayı verecektir:

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

Örnek:

$ 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

Kaynak


1

Burada, GitHub’a yalnızca ilk kez bakanlar, uzun geçmişe dayanan geçmişler ve çok fazla çatalla ilgili sorunları önleyen bir site var:

http://first-commit.com/

Hacker News hakkında tartışma .

... Bunun sadece web sitesini kazıdığını ve hangi sayfaya atlanacağını hesapladığını not eder. API kullanmak çok daha iyi olurdu.


1
Varsayılan dalın en erken taahhüdü yoksa işe yaramaz.
Monica

0

Unix sed aracını kullanarak yalnızca ilk işlem tarihini filtrelemek için kullanabilirsiniz.

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

Bence tam olarak ihtiyacın var.


-1

GitHub arabiriminin kendisinden yapmanın bir yolu var.

Proje sayfasına gidin ve aşağıda gösterildiği gibi alt Codesekmeyi takip eden sekmeyi seçin Commits:

görüntü tanımını buraya girin

Bu, sizi listene ekler. Daha sonra sayfanın altına kaydırırsanız, Olderdüğmesine tıklayarak zamanda geriye doğru devam edebilirsiniz .

Taahhütleri artan düzende gösterilen şekilde sıralamak için bir yol bulamadım.


10
Bunu zaten biliyordum. Soru, çok uzun zamandır taahhüt geçmişi olan projeler içindi .
Randomblue

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

Bir komut satırından almak istiyorsanız

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.