350 votes

Comment rechercher un message de commit sur GitHub ?

Non dans un dépôt Git mais plutôt dans GitHub Plus précisément, comment puis-je rechercher uniquement les messages de commit d'un dépôt/branche spécifique ?

3 votes

Le repo est-il public ou privé ?

2 votes

Pourquoi ne pas rechercher un message commit dans toutes les bifurcations ? J'essaie d'éviter de réinventer la roue quand le dépôt principal a plus de 100 forks !

0 votes

Des changements depuis lors ?

210voto

dsldsl Points 554

Vous aviez l'habitude de pouvoir le faire, mais GitHub a supprimé cette fonctionnalité à un moment donné mi-2013. Pour réaliser cela localement, vous pouvez faire :

git log -g --grep=STRING

(Utilisez le -g si vous voulez chercher dans d'autres branches et commits pendants).

-g, --walk-reflogs
    Instead of walking the commit ancestry chain, walk reflog entries from
    the most recent one to older ones.

156 votes

Pourquoi diable l'ont-ils enlevé ? C'est une fonction très utile.

1 votes

Facteur Mystique : Je.veux.des.espaces.dans.cette.chaîne.qui.suffit.généralement.

11 votes

Conseil omettre le -g pour les cas d'utilisation les plus courants. Je ne me suis pas trop penché sur la question, mais avec l'option -g la recherche ne semble remonter qu'à un mois. git log -g --grep=fix alors que dans le develop d'un repo qui a ~8000 commits sur deux ans, ne remonte que jusqu'au 2 février.

134voto

oktopus Points 583

Mise à jour (2017/01/05) :

GitHub a publié une mise à jour qui vous permet désormais d'effectuer des recherches dans les messages de commit depuis l'interface utilisateur. Voir article de blog pour plus d'informations.


J'ai eu la même question et j'ai contacté quelqu'un de GitHub hier :

Depuis que le moteur de recherche a été remplacé par Elasticsearch, il n'est plus possible de rechercher des messages de validation à l'aide de l'interface utilisateur de 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 pour le moment.

8 votes

+1 Vous m'avez épargné un temps inutile dans GitHub à me demander comment réaliser ce que je pensais être une fonctionnalité évidente. Donc, nous devons maintenant cloner le repo localement pour grep via la ligne de commande à la place. Jeez, c'est le progrès eh ?! ;)

74 votes

Même leur recherche avancée dans l'interface Web ne permet pas de rechercher dans le champ le plus important, à savoir le message de validation. C'est absolument ridicule. Github, ressaisissez-vous !

22 votes

Oui. Oubliez le fait qu'ils ont construit un service web qui aide à révolutionner et à populariser les logiciels libres, le fait qu'ils n'aient pas cette seule fonctionnalité en fait une véritable imposture !

21voto

joonty Points 5652

À partir de la page d'aide sur code de recherche il semble que cela ne soit pas encore possible.

Vous pouvez rechercher du texte dans votre référentiel, y compris la possibilité de choisir les fichiers ou les chemins dans lesquels rechercher, mais vous ne pouvez pas spécifier que vous voulez rechercher dans les commits.

Peut-être suggérez-leur ceci ?

18 votes

Cela semble être le cas d'utilisation le plus "par défaut" lorsqu'il s'agit de rechercher dans un dépôt. Surtout pour quelqu'un qui apprend à connaître un nouveau dépôt avec des tonnes de commits. Ils devraient certainement envisager de l'ajouter.

7voto

Kirk Points 346

Depuis qu'il a été supprimé de GitHub, j'ai utilisé gitk sur Linux pour faire cela.

Depuis le terminal, allez dans votre dépôt et tapez gitk .

Au milieu de l'interface graphique, il y a une boîte de recherche. Elle offre une bonne sélection de filtres :

Search bar

Portée - contenir, toucher les chemins, ajouter/supprimer une chaîne, modifier la correspondance des lignes

Type de correspondance - Exact/IgnCase/Regexp

Champs de recherche - Tous les champs/Headline/Comments/Committer

6voto

chrismarx Points 1381

Cela fonctionne bien de l'intérieur Eclipse jusqu'à ce que GitHub ajoute cette fonctionnalité :

Enter image description here

_EGit/Guide d'utilisation, Recherche de commits_

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X