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

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

Git Лабораторна 66: Налаштування similarity index

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

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

Тема: Налаштування виявлення перейменувань і переміщень

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

Meta: навчитися керувати порогом схожості для виявлення перейменувань і переміщень файлів у Git.



Krok 1. Створити файл з певним вмістом.

Komandy: cd ~/git_lab1; echo "line one" > rename66.txt; echo "line two" >> rename66.txt; git add rename66.txt; git commit -m "Add rename66 base file"



Krok 2. Перейменувати файл і трохи його змінити.

Komandy: mv rename66.txt rename66_new.txt; echo "line three" >> rename66_new.txt; git add rename66_new.txt; git rm rename66.txt; git commit -m "Rename and modify file 66"



Krok 3. Подивитися log з виявленням перейменувань за замовчуванням.

Komanda: git log -M --stat -n 1

Poyasnennya: Git сам знаходить перейменування за стандартним порогом.



Krok 4. Перевірити diff з явним параметром M.

Komanda: git diff -M HEAD~1 HEAD



Krok 5. Знизити поріг схожості до 30 відсотків.

Komanda: git diff -M30 HEAD~1 HEAD

Poyasnennya: Git простіше вважає зміни перейменуванням.



Krok 6. Підвищити поріг до 90 відсотків.

Komanda: git diff -M90 HEAD~1 HEAD

Poyasnennya: у цьому випадку Git може вважати файл новим а не перейменованим.



Krok 7. Перевірити як працює опція C для виявлення копій.

Komanda: git diff -C HEAD~1 HEAD

Poyasnennya: Git шукає схожі блоки між файлами.



Krok 8. Уявити реальний репозиторій де масові перейменування можуть засмічувати diff і log.

Poyasnennya: наприклад перейменування просторів імен або каталогів.



Krok 9. Занотувати рекомендовані параметри для таких комітів при перегляді diff.



Krok 10. Mini zvit.

Zavdannya: опиши як ти налаштуєш параметри M і C для аналізу великого refactor коміту.