En général, je me tourne toujours vers le vénérable Gitk lorsque j'ai besoin de chercher dans un dépôt. Heureusement, si vous connaissez la commande ps
, vous pouvez voir les commandes réelles que Gitk exécute en arrière-plan lorsque vous effectuez une recherche. Gitk offre une fonction de recherche qui analyse l'historique du dépôt pour les ajouts/suppressions d'une chaîne de caractères (ce que je pense être ce que vous recherchez). La commande qu'il exécute réellement en arrière-plan est git diff-tree
, qui est une commande extrêmement complexe avec environ 47 milliards d'options.
Quoi qu'il en soit, je pense qu'une commande du type git diff-tree -r -U3 -Schaîne_recherchée
fonctionnerait pour vous.
-r
rend toute la recherche récursive
-U
est pour produire une différence unifiée, où le 3
est le nombre de lignes de contexte
-S
est pour la chaîne de caractères à rechercher. Le format semble étrange en le tapant de cette façon, et n'oubliez pas que vous pourriez avoir besoin d'échapper les caractères spéciaux en fonction de ce que vous cherchez
- est où vous souhaitez effectuer la recherche. Vous pouvez simplement mettre le hachage du commit de votre
HEAD
actuel ou de votre master
ou de toute autre référence de cible.
Si vous avez déjà généré des différences unifiées à partir de git en ligne de commande auparavant, la sortie devrait vous sembler assez familière ici, et ressemblera à quelque chose comme :
$ git diff-tree -r -U3 -Sutilisateur_existant 599479fc43401942cedef7187677fa222ec54c94
599479fc43401942cedef7187677fa222ec54c94
diff --git a/src/AppBundle/Controller/SubscriptionController.php b/src/AppBundle/Controller/SubscriptionController.php
index 3670973..55de07a 100644
--- a/src/AppBundle/Controller/SubscriptionController.php
+++ b/src/AppBundle/Controller/SubscriptionController.php
@@ -23,28 +23,17 @@ class SubscriptionController extends AbstractController
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
- $existing_user = $this->get('user_dao')->getUserByEmail($newly_invited_user->getEmail());
...
Cela devrait vous fournir tout ce dont vous avez besoin, la référence du commit, le numéro de ligne et le contexte.