Читаємо історію: повідомлення, diff і blame
Як відкрити історію файлу, прочитати diff рядок за рядком і через blame простежити будь-який рядок до його коміту, pull request та issue.
Урок 3 з 3~24 хв навчанняЗ них ~14 хв на запитання та завдання
Зміст1 із 49 кроків
Alex Tutor
config/prices.json. У правому верхньому куті файлу є кнопка History. Вона показує всі коміти, які будь-коли змінювали саме цей файл.Ви
Alex Tutor
git log.Alex Tutor
Питання 1
Тобі потрібні всі зміни в config/prices.json за цей рік. Що відкрити?
Alex Tutor
main; лише два виділені зачепили config/prices.json.Alex Tutor
5b8f3a2Update cat food photos77c1e90Add express delivery price9d04e61Fix typo in footera41c09eRaise delivery price to 59 UAHe7c3b19Add summer promo bannerf02a6d4Update FAQ answersmain
Граф комітів, від найстарішого: Останні шість комітів у `main` 1. коміт 5b8f3a2 у main "Update cat food photos" 2. коміт 77c1e90 у main "Add express delivery price" (виділено) 3. коміт 9d04e61 у main "Fix typo in footer" 4. коміт a41c09e у main "Raise delivery price to 59 UAH" (виділено) 5. коміт e7c3b19 у main "Add summer promo banner" 6. коміт f02a6d4 у main "Update FAQ answers"
Ви
Alex Tutor
Alex Tutor
a41c09e.Alex Tutor
Ви
Alex Tutor
+1 −1: скільки рядків додано й видалено. А режим Split ставить стару версію ліворуч, а нову праворуч, якщо так легше читати.Alex Tutor
Питання 2
Зістав кожну частину diff з її значенням.
Торкніться відповіді, а потім рядка, до якого вона належить. Можна й перетягувати.
- Червоний рядок, що починається з
- - Зелений рядок, що починається з
+ - Сірий рядок без знака
+12 −3над файлом
Відповіді, які ще треба розмістити
Alex Tutor
Ви
Alex Tutor
Ви
Alex Tutor
Alex Tutor
Питання 3
Ось diff файлу pages/faq/delivery.md:
## Delivery
-Orders arrive in 2–3 days.
+Orders arrive in 1–2 days in Kyiv and 2–4 days elsewhere.
Free delivery from 1000 UAH.
+Express delivery: 99 UAH.
Які твердження правдиві? Познач усе, що підходить.
Ви
Alex Tutor
Code на Blame. Біля кожного рядка GitHub покаже останній коміт, що його змінив: автора, повідомлення й дату, а ще кольорову смужку від старіших змін до новіших.Ви
Дмитро
Alex Tutor
git blame, а на GitHub одна кнопка.Alex Tutor
Питання 4
Що GitHub показує біля кожного рядка в режимі Blame?
Alex Tutor
"delivery": 59 показує коміт a41c09e. Його повідомлення закінчується на (#128), це pull request. А в PR написано «Closes #120», тобто issue, яке відкрив фінвідділ.Alex Tutor
a41c09e Raise delivery price to 59 UAH
Що змінилося, хто і коли (знайдено через Blame)
Raise delivery price after courier rate change#128
Обговорення: навіщо, хто робив рев'ю, коли змерджили
Courier rates up from 1 June#120
Звідки прийшов запит: фінвідділ
Ви
Alex Tutor
Дмитро
(#128) і пишу Closes #120 у pull requests. Без цих посилань слід обривається на коміті, і доводиться знову всіх розпитувати.Alex Tutor
Питання 5
Розташуй кроки по порядку, щоб з'ясувати, чому рядок у config/prices.json саме такий.
Торкніться пункту, а потім місця, куди його поставити. Можна перетягувати або користуватися стрілками.
Дмитро
Ви
Alex Tutor
View blame prior to this change. Вона показує той самий файл у стані безпосередньо перед цим комітом. Або відкрий History файлу й подивись на крок раніше.Alex Tutor
Питання 6
Blame на рядку "freeDeliveryFrom": 1000 показує коміт «Reformat prices.json», який лише змінив відступи. Як знайти коміт, що справді встановив значення 1000?
Alex Tutor
Ви
Alex Tutor
Дмитро
Alex Tutor
Питання 7Коротка відповідь · Завдання з перевіркою ШІ
Ось що вдалося знайти в історії: коміт a41c09e «Raise delivery price to 59 UAH» (змерджено 3 червня), PR #128 «Raise delivery price after courier rate change», issue #120 «Courier rates up from 1 June», відкрите фінвідділом. Напиши відповідь на 2–3 речення, яку підтримка може надіслати клієнту, що питає, чому доставка тепер коштує 59 грн, а не 49.
Напишіть відповідь і отримайте оцінку та відгук від нашого ШІ-рецензента.
Увійдіть, щоб отримати відгук ШІHistory, щоб побачити всі зміни файлу, diff, щоб побачити, що саме змінилося, Blame, щоб знайти, звідки взявся рядок, а пов'язані pull request та issue, щоб зрозуміти навіщо.Ви
Дмитро