Comment se rendre au plus tôt à s'engager dans un dépôt Github?
Dans GitHub, est-il un moyen facile de naviguer à la première validation d'un grand projet open source?
Le projet a plus de 13 000 engage dès aujourd'hui. Je ne veux pas avoir à appuyer sur le "vieux" sur le bouton de commettre page historique des centaines et des centaines de fois pour arriver à la première commit (ou premier commit).
- Avez-vous envisagé de cloner le dépôt de naviguer en local, à la place?
- Essayez de rechercher le premier commit
Vous devez vous connecter pour publier un commentaire.
Cloner le dépôt, ouvert avec la ligne de commande et exécuter
$ git log --reverse
Cela permettra de montrer s'engage dans l'ordre inverse.
Alors vous pouvez le voir sur github une fois que vous avez l'ID(Nom de l'Objet) de la première valider ... quelque chose comme...
https://github.com/UserName/Repo/commit/6a5ace7b941120db5d2d50af6321770ddad4779e
oneline
arg à ce --git log --reverse --oneline
de sorte que vous pouvez voir une listegit log --reverse --oneline | more
. Standardmore
comportement, Ctrl + C pour quitter.Oui, il est maintenant! (Ce qui signifie: sans de cloner le repo, et de l'application de
git log
dans le clone local)Depuis janvier 2017, vous avez "Naviguer dans l'historique des fichiers plus rapidement avec une vue blâmer" sur GitHub.
Voici une démo pour en revenir à l'original plus ancien commettre des git/git pensions de lui-même (47K+ s'engage)... en trois clics!
L'astuce ici est de choisir un fichier susceptible d'être trouvé dans le premier (ou très tôt) s'engagent, comme un
README.md
.Browse files
et l'ouverture de la blâmer pour un fichier différent.git log
ne fonctionne que si vous clone (ce qui est potentiellement énorme) repo local. Si vous voulez "naviguer" à la poigne de s'engager, alors ce qu'il est.Il n'y a pas de façon évidente de l'INTERFACE utilisateur pour ce faire, mais il y a un moyen de construire l'URL pour aller à la première page du journal de validation.
Supposons que nous voulons trouver le premier commit de la dotnet/coreclr référentiel. D'abord prendre note du nombre de commits dans le dépôt: il est actuellement 16,634. Maintenant, allez à la liste des commits, et cliquez sur "Plus" une fois. L'URL sera quelque chose comme ceci:
https://github.com/dotnet/coreclr/commits/master?after=872095a758a3a6191a9798c94a98e8d1e16b2254+34
Avis de la
+34
partie. C'est le nombre de commits sont ignorés. Changement de 16,634 moins 1 de moins de 35 par page, qui nous donne cette URL, qui vous emmène directement à la première page de la coreclr commettre l'histoire.Je voulais voir l'une des premières validations de nodejs projet. J'ai effectué les opérations suivantes.
Maintenant défiler vers le bas jusqu'à la fin et j'ai trouvé les Anciens et les Nouveaux boutons. La plus Récente bouton est désactivé. J'ai cliqué sur le plus vieux bouton et il m'a fallu https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+34
Maintenant observer que l'url a +34. Maintenant j'ai changé de 23000(puisque le nombre de commits j'avais observé est de 23000). Ainsi, la nouvelle url que j'ai essayé est
https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+23000
Vous pouvez naviguer vers un dépôt GitHub du premier valider à l'aide de la init bookmarklet.
Avertissement: j'ai contribué un petit Readme mise à jour init quelques minutes avant de poster cette réponse.
Vous devez utiliser le
git log --reverse
commande de git.Pour revenir à l'histoire de l'engage pour le repo dans l'ordre inverse (du plus ancien au plus récent).
Puis, avec l'aide de quelques
sed
magie, vous pourriez avoir quelque chose comme la date du premier commit (qui est ce que j'ai vu, j'ai toujours eu besoin pour moi-même).En fin de compte, vous pouvez automatiser cette ainsi (puisque c'est la plupart du temps ennuyeux de taper la commande ou tout simplement impossible de s'en souvenir), de sorte qu'un script shell comme cette une pourrait venir à la rescousse.
Vous pouvez vous rendre à la première page de commits avec le suivant, que je conserve comme un fragment de code dans Chrome dev tools.