← До фільтрів та технологій

← До списку лабораторних по Git

Git Лабораторна 83: git grep і пошук у змінах

Технологія: Git

Номер лабораторної: 83 · Рівень: middle

Тема: Просунутий пошук по коду і історії

Повний опис / сценарій лабораторної:

Meta: навчитися ефективно шукати фрагменти коду і зміни у історії за допомогою git grep і параметрів log.



Krok 1. Виконати простий пошук рядка у файлах.

Komanda: cd ~/git_lab1 && git grep "TODO"

Poyasnennya: показує усі входження з файлами і номерами рядків.



Krok 2. Обмежити пошук певним каталогом.

Komanda: git grep "TODO" -- src/



Krok 3. Використати регулярний вираз у grep.

Komanda: git grep -E "error|warning"



Krok 4. Знайти коміти де додавали або видаляли певний текст через log -S.

Komanda: git log -S "critical fix" --oneline

Poyasnennya: S шукає зміни кількості входжень рядка.



Krok 5. Переглянути diff одного з таких комітів.

Komanda: git show ХЕШ



Krok 6. Використати log -G з регулярним виразом.

Komanda: git log -G "timeout.*5000" --oneline

Poyasnennya: G аналізує вміст diff за регулярним збігом.



Krok 7. Обмежити пошук певним файлом або каталогом у log.

Komanda: git log -G "password" -- config/



Krok 8. Скомбінувати git grep з xargs для масового відкриття файлів у редакторі.

Komanda: git grep -l "TODO" | xargs -r nano



Krok 9. Занотувати шаблони команд для пошуку безпечних проблем, наприклад використання debug логів або тимчасових хаків.



Krok 10. Mini zvit.

Zavdannya: наведи три приклади реальних задач де git grep і log -S спрощують аналіз регресій.