GitHub: recherche dans les anciennes versions de fichiers

Je sais que grâce à GitHub, je peux effectuer une recherche dans toutes les versions actuelles de mes fichiers. Cependant, je voudrais également rechercher dans les anciennes versions de mes fichiers repo. Par exemple, par exemple, j’avais une fonction appelée get_info () dans mon code, mais je l’ai supprimée il y a plusieurs versions, il est possible de rechercher get_info et de trouver le code. Si ce n’est pas possible avec GitHub, est-ce possible depuis la ligne de commande git?

MODIFIER

Merci à @Mark Longair d’avoir montré comment cela peut être fait à partir de la ligne de commande git. Si ce n’est pas possible dans GitHub, ce serait une excellente fonctionnalité.

Actuellement, je ne pense pas qu’il soit possible de rechercher dans l’historique complet du code d’un référentiel sur le site Web github – le plus proche consiste simplement à rechercher dans le code actuel d’un référentiel avec l’option “recherche de code” sur cette page .

Cependant, à partir de la ligne de commande, vous pouvez trouver tous les commits ayant introduit ou supprimé des lignes mentionnant get_info avec l’option -S pour git log . par exemple:

 git log -Sget_info -p 

(nb il ne devrait y avoir aucun espace entre -S et le terme de recherche)

(notez aussi: pour rechercher plus d’un mot, entourez-en ' ):

 git log -S'get info' -p 

Donc, au minimum, cela devrait trouver le commit où la fonction a été introduite et celle qui l’a supprimée. J’ai ajouté le -p pour que vous puissiez également voir les correctifs – si beaucoup de modifications ont introduit des modifications qui mentionnent la fonction qui peut être utile. Si la fonction était uniquement sur une autre twig, il pourrait également être utile d’utiliser --all pour rechercher toutes les twigs.

Jefromi souligne dans un commentaire ci-dessous que git 1.7.4 introduira l’option -G comme alternative – ce changement est résumé dans un article de blog récent de Junio ​​Hamano (responsable git): http://gitster.livejournal.com/48191 .html