Pas dans un référentiel Git , mais plutôt dans GitHub en particulier - comment rechercher uniquement les messages de validation d'un référentiel / branche spécifique?
328
Pas dans un référentiel Git , mais plutôt dans GitHub en particulier - comment rechercher uniquement les messages de validation d'un référentiel / branche spécifique?
Réponses:
Depuis 2017, c'est une fonctionnalité incluse dans GitHub lui-même .
L'exemple de recherche utilisé par eux est
repo:torvalds/linux merge:false crypto policy
la source
Auparavant, vous pouviez le faire, mais GitHub a supprimé cette fonctionnalité à un moment donné mi-2013. Pour y parvenir localement, vous pouvez faire:
(Utilisez le
-g
drapeau si vous souhaitez rechercher d'autres branches et commits suspendus.)la source
-g
indicateur pour les cas d'utilisation les plus courants. Je n'y ai pas trop réfléchi, mais avec-g
, la recherche semble remonter à seulement un mois.git log -g --grep=fix
alors que dans ladevelop
branche d'un repo qui a ~ 8000 commits s'étalant sur deux ans, ne remonte qu'au 2 février.-g
drapeau.Mise à jour (2017/01/05):
GitHub a publié une mise à jour qui vous permet désormais de rechercher dans les messages de validation depuis leur interface utilisateur. Voir l'article de blog pour plus d'informations.
J'ai eu la même question et j'ai contacté quelqu'un GitHub hier:
Depuis qu'ils ont changé leur moteur de recherche pour Elasticsearch, il n'est pas possible de rechercher des messages de validation à l'aide de l'interface utilisateur GitHub. Mais cette fonctionnalité est sur la liste de souhaits de l'équipe.
Malheureusement, il n'y a pas de date de sortie pour cette fonction en ce moment.
la source
La réponse courte est que vous ne pouvez pas rechercher les messages de validation directement sur github.com le site Web. Pour le moment, nous recommandons la
git grep
solution locale proposée par d'autres sur ce sujet.À un moment donné, GitHub a proposé une
git grep
recherche de style sur les messages de validation pour un seul référentiel. Malheureusement, cette approche a révélé un déni de service qui pourrait rendre un serveur de fichiers inaccessible. Pour cette raison, nous avons supprimé lagit grep
recherche.Les estimations actuelles de l'arrière de l'enveloppe placent le nombre de validations dans GitHub autour de la barre des 80 milliards. Bien que les ingénieurs de Google rient derrière nous, il s'agit d'un nombre assez important de documents à stocker dans ElasticSearch. Nous aimerions rendre ce jeu de données consultable, mais ce n'est pas un projet trivial.
la source
git diff's
(c'est-à-dire le contenu des validations, pas les métadonnées de validation)Cela a été supprimé de GitHub. J'utilise:
Vous pouvez également filtrer par auteur:
la source
Depuis la page d'aide sur la recherche de code , il semble que ce ne soit pas encore possible.
Vous pouvez rechercher du texte dans votre référentiel, y compris la possibilité de choisir des fichiers ou des chemins de recherche, mais vous ne pouvez pas spécifier que vous souhaitez rechercher dans les validations.
Peut-être leur suggérer cela ?
la source
Vous pouvez le faire avec des référentiels qui ont été explorés par Google (les résultats varient d'un référentiel à l'autre).
Rechercher toutes les branches de tous les référentiels analysés pour "changer de licence"
Rechercher la branche principale de tous les référentiels analysés pour "modifier la licence":
Recherche dans la branche principale de tous les référentiels twitter explorés pour "modifier la licence"
Rechercher toutes les branches du référentiel twitter / some_project pour "changer de licence"
la source
Mise à jour janvier 2017 (deux ans plus tard):
Vous pouvez maintenant rechercher des messages de validation ! (toujours uniquement dans la branche master)
Février 2015: Je ne suis pas sûr que cela puisse être possible, compte tenu de la base actuelle de l'infrastructure de recherche sur Elasticsearch (introduite en janvier 2013 ).
En guise de réponse "puisant dans des sources crédibles et / ou officielles", voici un entretien réalisé avec les personnes GitHub en charge de l'introduction d'Elasticsearch sur GitHub (août 2013)
Cela signifie que toutes les branches de tout le repo ne seraient pas indexées avec cette approche.
Une recherche de message de validation globale n'est pas disponible pour l'instant.
Et Tim Pease lui-même confirme que les messages de validation ne sont pas indexés .
Notez qu'il n'est pas impossible d'obtenir sa propre indexation locale elasticsearch d'un clone local: voir " Recherche d'un référentiel git avec ElasticSearch "
Mais pour un dépôt spécifique, le plus simple reste de le cloner et de faire un:
(Plus d'options dans " Comment rechercher un référentiel Git par message de validation? ")
la source
Depuis que cela a été supprimé de GitHub, j'utilise
gitk
Linux pour ce faire.Depuis le terminal, accédez à votre référentiel et tapez
gitk
.Au milieu de l'interface graphique, il y a un champ de recherche. Il fournit une bonne sélection de filtres:
Portée - contenant, touchant les chemins, ajoutant / supprimant une chaîne, modifiant la correspondance des lignes
Type de correspondance - Exact / IgnCase / Regexp
Champs de recherche - Tous les champs / Titre / Commentaires / Committer
la source
Cela fonctionne bien depuis Eclipse , jusqu'à ce que GitHub ajoute la fonctionnalité:
EGit / User Guide, Recherche de commits
la source
Si vous avez une version locale du référentiel, vous voudrez peut-être essayer ce script shell brut que j'ai écrit pour ouvrir les pages GitHub pour toutes les validations correspondant à votre terme de recherche dans de nouveaux onglets dans votre navigateur par défaut:
Remplacez-le simplement
https://github.com/RepoOwnerUserName/RepoName/
par l'URL GitHub réelle de votre référentiel, enregistrez le script quelque part (par exemple asgithubsearch.sh
, rendez-le exécutable (chmod +x githubsearch.sh
), puis ajoutez l'alias suivant à votre~/.bashrc
fichier:Ensuite, de n'importe où dans votre référentiel Git, faites-le au terminal:
et tout commit correspondant à votre terme de recherche (insensible à la casse) verra ses pages GitHub correspondantes ouvertes dans votre navigateur. (Soyez averti que si votre terme de recherche apparaît dans des centaines de validations, cela pourrait bien planter votre navigateur et manger le processeur de votre PC pendant un certain temps.)
la source
À partir de la mi-2019, tapez simplement tout ce que vous souhaitez rechercher dans la zone de recherche en haut à gauche , puis cliquez sur «Valeurs».
la source