Dans un grand projet Django, je me souviens que nous changeons 'word1'
par 'word2'
, mais je ne sais même pas ce qui est 'word2'
. Cependant, je sais que je pourrais le trouver avec 'word1'
. En d'autres termes, je voudrais trouver le commit où j'ai changé 'word1'
à 'word2'
. Comment pourrais-je faire une telle chose? Comment puis-je trouver le dernier commit avec 'word1'
?Trouver la dernière validation contenant 'word1'
Répondre
Vous devriez essayer le -S
option of git log
git log -S word1 --patch
affiche toutes les commettras avec le changement actif contenant 'word1'
et le changer.
Est-il possible d'afficher ce mot avec une couleur spécifique? –
Pas avec git, vous devez utiliser un autre programme pour cela comme 'grep':' git log -S word1 --patch | grep '\ (^ commit \ | word1 \)' 'affichera le hash de commit et les lignes avec '' word1'' – zigarn
pas le plus léger chose à faire, mais je voudrais aussi envisager d'utiliser grep git .... en boucle ... quelque chose comme ceci:
git rev-list | while read revision; do
lines=$(git grep word1 $revision | wc -l)
if [ $lines -ne 0 ]; then
echo Found it on revision $revision
git grep word1 $revision
break
fi
done
connaissez-vous au moins un engagement qui a encore 'word1'? Par exemple, 'word1' était-il dans la validation initiale? –
Nous avons 3000 commits jusqu'ici. Le dernier commit avec '' word1 '' est probablement 1000 il y a quelques mois. Donc je ne connais même pas un commit avec '' word1 '' –