Czy w GitHub istnieje łatwy sposób na przejście do najwcześniejszego zatwierdzenia dużego projektu open source?
Na dzień dzisiejszy projekt ma ponad 13 000 zatwierdzeń. Nie chcę setki i setki razy wciskać przycisku „Starsze” na stronie historii zmian, aby dostać się do pierwszego zatwierdzenia (lub pierwszego zatwierdzenia).
Odpowiedzi:
Sklonuj repozytorium, otwórz za pomocą wiersza poleceń i uruchom
$ git log --reverse
Spowoduje to wyświetlenie zatwierdzeń w odwrotnej kolejności.
Następnie możesz wyświetlić go na githubie, gdy masz ID (nazwę obiektu) pierwszego zatwierdzenia ... coś w rodzaju ...
https://github.com/UserName/Repo/commit/6a5ace7b941120db5d2d50af6321770ddad4779e
źródło
oneline
do tego argument -git log --reverse --oneline
żebyście mogli zobaczyć to jako listęgit log --reverse --oneline | more
. Standardowemore
zachowanie, Ctrl + C, aby zakończyć.Nie ma oczywistego interfejsu użytkownika, który mógłby to zrobić, ale istnieje sposób na skonstruowanie właściwego adresu URL, aby przejść do pierwszej strony dziennika zatwierdzeń.
Załóżmy, że chcemy znaleźć pierwsze zatwierdzenie repozytorium dotnet / coreclr . Najpierw zanotuj liczbę zatwierdzeń w repozytorium: obecnie jest to 16 634. Teraz przejdź do listy zatwierdzeń i kliknij raz „Starsze” . Adres URL będzie wyglądał mniej więcej tak:
https://github.com/dotnet/coreclr/commits/master?after=872095a758a3a6191a9798c94a98e8d1e16b2254+34
Zwróć uwagę na
+34
część. Tak wiele zatwierdzeń jest pomijanych. Zmień to na 16,634 minus 1 minus 35 na stronę, co da nam ten adres URL , który przeniesie Cię prosto do pierwszej strony historii zatwierdzeń coreclr.źródło
Tak, teraz jest! (Znaczenie: bez klonowania repozytorium i stosowania
git log
w lokalnym klonie)Od stycznia 2017 r. Masz „ Szybsze nawigowanie po historii plików dzięki ulepszonemu widokowi adnotacji ” na GitHub.
Oto demo przywracające pierwotne najstarsze zatwierdzenie samego repozytorium git / git (ponad 47 000 zatwierdzeń) ... za pomocą trzech kliknięć!
Sztuczka polega na tym, aby wybrać plik, który prawdopodobnie znajdzie się w pierwszym (lub bardzo wczesnym) zatwierdzeniu, na przykład plik
README.md
.źródło
Browse files
plik readme nie wrócił aż do początku, więc powtórzyłem proces, naciskając i otwierając plik winy za inny plik.git log
działa tylko wtedy, gdy lokalnie sklonujesz (potencjalnie duże) repozytorium. Jeśli chcesz „ nawigować ” do pierwszego zatwierdzenia, to jest to.Chciałem zobaczyć jeden z najwcześniejszych commity projektu nodejs . Zrobiłem co następuje.
Teraz przewinęliśmy w dół i znalazłem przyciski Nowsze i Starsze. Przycisk Nowsze jest wyłączony. Kliknąłem starszy przycisk i zaprowadziło mnie to do https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+34
Teraz zauważ, że adres URL ma +34. Teraz zmieniłem to na 23000 (ponieważ liczba zatwierdzeń, które zaobserwowałem, wynosi 23000). Tak więc nowy adres URL, który wypróbowałem, to
https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+23000
źródło
Możesz przejść do pierwszego zatwierdzenia repozytorium GitHub za pomocą bookmarkletu init .
Uwaga : przesłałem małą aktualizację pliku Readme, aby zainicjować kilka minut przed opublikowaniem tej odpowiedzi.
źródło
Możesz dostać się do pierwszej strony zatwierdzeń za pomocą następujących, które przechowuję jako fragment w narzędziach programistycznych Chrome.
źródło
Musisz użyć
git log --reverse
polecenia git.Spowoduje to zwrócenie historii zatwierdzeń dla określonego repozytorium w odwrotnej kolejności (od najstarszej do najnowszej).
Następnie, z pomocą jakiejś
sed
magii, możesz mieć coś w rodzaju daty pierwszego zatwierdzenia (widziałem, że zawsze potrzebowałem dla siebie).Ostatecznie możesz chcieć zautomatyzować to również (ponieważ wpisywanie polecenia jest przeważnie nudne lub po prostu niemożliwe do zapamiętania), więc skrypt powłoki taki jak ten może przyjść na ratunek.
źródło
Możesz użyć tej aplikacji internetowej do szybkiego znalezienia pierwszego zatwierdzenia https://firstcommit.netlify.com/
źródło
Ten link umożliwia interfejsowi użytkownika, aby to zrobić w GitHub. Podsumowanie:
Karta „Statystyki”
Karta sieciowa (lewa strona)
Shift + <-
źródło