50 votes

Comment rechercher dans l'historique Git une ligne disparue?

J'ai besoin de rechercher l'histoire d'un fichier spécifique dans un dépôt git de trouver une ligne qui a disparu. Le message de commit n'aura pas de texte à rechercher. Quelle commande dois-je utiliser?

Plus de détails: c'est l'histoire de ma liste de choses à faire en dehors de notre non-stellaire tâche logiciel de suivi. J'ai été pendant deux ans parce qu'il y a tout simplement pas assez d'informations gardé pour moi dans le logiciel. Mes messages de commit ne disposent généralement que de l'id de tâche, malheureusement, et ce que je dois faire est de trouver une tâche fermée par sujet, non pas par le nombre. Oui, la vraie solution est meilleure tâche logiciel de suivi, mais c'est totalement hors de mes mains.

98voto

Jefromi Points 127932

C'est un travail pour la pioche!

Depuis la page de manuel git-log:

-S<string>

Recherchez les différences qui introduisent ou suppriment une instance de <string> . Notez que ceci est différent de la chaîne apparaissant simplement dans la sortie diff. voir l'entrée de pioche dans gitdiffcore (7) pour plus de détails.

Vous pouvez bien entendu utiliser d’autres options pour la réduire, par exemple:

 git log -Sfoobar --since=2008.1.1 --until=2009.1.1 -- path_containing_change
 

N'est-ce pas incroyablement utile?

0voto

Kzqai Points 7484

Que diriez-vous de git log --stat | grep 'filename' pour commencer à le réduire?

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