GitHub: de la recherche à travers les anciennes versions de fichiers
Je sais que l'utilisation de GitHub, je peux rechercher à travers toutes les versions de mes fichiers dans une pension. Cependant, je tiens également à chercher dans les anciennes versions de mes pensions de fichiers. Par exemple, dites, j'ai utilisé une fonction appelée get_info() dans mon code, mais il supprimé il y a plusieurs versions, est-il possible de rechercher pour get_info et de trouver le code. Si il n'est pas possible à l'aide de GitHub, est-il possible de le git en ligne de commande?
MODIFIER
Grâce à @Mark Longair pour montrer comment cela peut être fait à partir de git en ligne de commande. Si il n'est pas possible dans GitHub, ce serait une grande fonctionnalité.
Vous devez vous connecter pour publier un commentaire.
Actuellement, je ne crois pas qu'il est possible de rechercher dans l'historique complet d'un référentiel de code sur github site - le plus proche, est à la recherche dans le code actuel d'un référentiel avec la "recherche de code" option sur cette page.
Cependant, à partir de la ligne de commande, vous pouvez trouver tous les commits qui introduit ou supprimé des lignes de mentionner
get_info
avec le-S
option pourgit log
. par exemple:(n.b. il devrait y avoir aucun espace entre les
-S
et le terme de recherche)(à noter également: à la recherche de plus d'un mot, surround dans
'
):Donc, à un minimum qui devrait trouver le commit où la fonction a été la première fois, et celui qui l'a supprimé. J'ai ajouté le
-p
de sorte que vous pouvez également voir les patches, si beaucoup de validations ont introduit des changements mentionnés à la fonction qui peut être utile. Si la fonction n'était que sur une autre branche, il pourrait également être utile d'utiliser--all
à la recherche de toutes les branches.Jefromi souligne dans un commentaire ci-dessous que git 1.7.4 présentera les
-G
option comme une alternative, de ce changement se résume dans un récent billet de blog de Junio Hamano (git responsable): http://gitster.livejournal.com/48191.htmlget_info
est contenue dans le diff que la validation introduit. Vous avez peut-être confondu avec le--grep
option, qui permet de rechercher les messages de log.-G
option, qui prend une expression rationnelle au lieu d'une chaîne fixe.git log -S'get info' -p