Cela me rend dingue.Git: Trouver le code supprimé
Comment trouver le code qui a été supprimé?
je fini par trouver où il a été créé avec ceci:
$ git log --pretty=oneline -S'some code'
Et c'est assez bon, mais j'étais aussi curieux de savoir où il a été supprimé, et à ce jour, pas de dés. Tout d'abord, j'ai essayé git diff HEAD..HEAD^|grep 'some code'
, en augmentant la portée à chaque fois, jusqu'à ce que je trouve les lignes où il a été supprimé. Nice, alors supposons que je l'ai trouvé sur la plage HEAD^^..HEAD^^^
, puis je fais git show HEAD^^^
et git show HEAD^^
avec grep
, mais le code est introuvable!
Ensuite, je lis un peu sur git bisect
, et bien sûr, il me donne une seule révision où le coupable est censé être ... Encore une fois, git show rev|grep 'some code'
arrive vide ...
Que? Qu'est-ce que je fais mal?
Merci!
Voulez-vous dire que lorsque vous faites essentiellement suivant vous obtenez le pas de résultats ?:
Si oui, semble non sensical .... si elle est dans 'log', il doit être visible dans' show' ... pas vrai? Ou peut-être que je ne comprends pas la question. – metasimCela faisait un moment que j'étais dans cette situation et il ne s'est pas encore présenté, donc je ne peux pas tester votre commande. Merci quand même, ça peut être utile pour quelqu'un. – Ivan
Ancien poste/commentaire ici, mais exactement ce dont j'avais besoin néanmoins. @SimeonFitch votre syntaxe a parfaitement fonctionné pour moi, pour trouver et énumérer la ligne de code réelle (s) en question. Un ajout que j'ai trouvé utile était d'utiliser l'option '--context = n' grep pour montrer suffisamment de lignes avant/après pour savoir ce que le nom de fichier est aussi (il y a d'autres options grep qui pourraient aider avec ça aussi). Donc, dans mon cas, la deuxième commande était: git show $ SHAHIT | grep --context = 30 'du code' –