logo

Журнал Git

Перевага системи контролю версій полягає в тому, що вона записує зміни. Ці записи дозволяють нам отримувати такі дані, як коміти, виявлення помилок, оновлення. Але вся ця історія буде марною, якщо ми не зможемо в ній орієнтуватися. На цьому етапі нам потрібна команда git log.

Git log — це допоміжний інструмент для перегляду та читання історії всього, що відбувається зі сховищем. У журналі git можна використовувати кілька параметрів, щоб зробити історію точнішою.

Як правило, журнал git — це запис комітів. Журнал git містить такі дані:

    Хеш фіксації, що є даними контрольної суми з 40 символів, згенерованими алгоритмом SHA (Secure Hash Algorithm). Це унікальний номер.Зафіксувати метадані автора: інформація про авторів, наприклад ім’я та електронна адреса автора.Метадані дати фіксації: це мітка дати та часу для часу коміту.Зафіксувати назву/повідомлення: це огляд коміту, поданий у повідомленні коміту.

Як вийти з команди git log?

Може виникнути ситуація, коли ви виконуєте команду git log і застрягли на цьому. Ви хочете ввести або повернутися до bash, але не можете. Коли ви натискаєте на Введіть клавіша, вона переведе вас до старішої команди до позначки кінця.

Рішенням цієї проблеми є преса в q (Q для виходу) . Це вийде з ситуації та поверне до командного рядка. Тепер ви можете виконати будь-яку з команд.

Базовий журнал Git

Команда Git log є однією з найпоширеніших команд git. Це найкорисніша команда для Git. Кожного разу, коли вам потрібно перевірити історію, ви повинні використовувати команду git log. Базова команда git log відображатиме останні коміти та статус голови. Він використовуватиметься як:

 $ git log 

Наведена вище команда відобразить останні коміти. Розглянемо наведений нижче результат:

Журнал Git

Наведена вище команда містить список усіх останніх комітів. Кожен коміт містить певний унікальний sha-id, який генерується алгоритмом SHA. Він також містить дату, час, автора та деякі додаткові відомості.

Ми можемо виконувати деякі дії, такі як прокручування, стрибки, переміщення та вихід у командному рядку. Щоб прокручувати командний рядок, натисніть k для переміщення вгору, j для переміщення вниз, пробіл для прокручування вниз на всю сторінку, щоб прокрутити сторінку вгору, і q, щоб вийти з командного рядка.

<

Git Log Oneline

Параметр oneline використовується для відображення результату як одного коміту на рядок. Він також коротко показує результат, наприклад перші сім символів SHA коміту та повідомлення коміту.

Він буде використовуватися наступним чином:

 $ git log --oneline 

Отже, зазвичай ми можемо сказати, що прапорець --oneline викликає відображення git log:

  • один комміт на рядок
  • перші сім символів SHA
  • повідомлення фіксації

Розглянемо наведений нижче результат:

Журнал Git 1

Як ми бачимо точніше з наведеного вище виводу, кожен коміт надається лише в одному рядку з семизначним номером sha та повідомленням коміту.

Git Log Stat

Команда журналу відображає файли, які були змінені. Він також показує кількість рядків і підсумковий рядок загальної кількості оновлених записів.

Загалом можна сказати, що параметр статистики використовується для відображення

java int для подвоєння
  • змінені файли,
  • Кількість рядків, які було додано або видалено
  • Підсумковий рядок із загальною кількістю змінених записів
  • Рядки, які були додані або видалені.

Він буде використовуватися наступним чином:

 $ git log --stat 

Наведена вище команда відобразить файли, які були змінені. Розглянемо наведений нижче результат:

Журнал Git 2

З наведеного вище результату ми бачимо, що всі перелічені коміти є модифікаціями в сховищі.

Git log P або Patch

Команда git log patch відображає файли, які були змінені. Він також показує розташування доданих, видалених і оновлених ліній.

Він буде використовуватися як:

 $ git log --patch 

Або

 $ git log -p 

Загалом можна сказати, що прапорець --patch використовується для відображення:

  • Змінені файли
  • Розташування рядків, які ви додали або вилучили
  • Конкретні зміни, які були внесені.

Розглянемо наведений нижче результат:

Журнал Git 3

Наведений вище результат відображає змінені файли з розташуванням рядків, які були додані або видалені.

авл дерева

Git Log Graph

Команда Git log дозволяє переглядати ваш журнал git у вигляді графіка. Щоб отримати список комітів у вигляді графіка, запустіть команду git log із параметром --graph. Він працюватиме наступним чином:

 $ git log --graph 

Щоб зробити вивід більш конкретним, ви можете поєднати цю команду з параметром --oneline. Він працюватиме наступним чином:

 $ git log --graph --oneline 

Фільтрування історії комітів

Ми можемо фільтрувати вихід відповідно до наших потреб. Це унікальна функція Git. Ми можемо застосувати багато фільтрів, як-от сума, дата, автор тощо. Кожен фільтр має свої характеристики. Їх можна використовувати для реалізації деяких операцій навігації на виході.

Розберемося докладніше з кожним із цих фільтрів.

За сумою:

Ми можемо обмежити кількість вихідних комітів за допомогою команди git log. Це найбільш конкретна команда. Ця команда усуне складність, якщо ви зацікавлені в меншій кількості комітів.

Щоб обмежити вихід журналу git, включаючи опцію -. Якщо нам потрібні лише три останні коміти, ми можемо передати аргумент -3 у команду git log. Розглянемо наведений нижче результат:

Журнал Git 4

Як ми бачимо з наведених вище виводів, ми можемо обмежити вихід git log.

За датою та часом:

Ми можемо фільтрувати вихідні дані за датою та часом. Ми повинні пройти --після або -раніше аргумент для визначення дати. Ці обидва аргументи приймають різні формати дати. Він працюватиме наступним чином:

 $ git log --after=&apos;yy-mm-dd&apos; 

Наведена вище команда відобразить усі коміти, зроблені після зазначеної дати. Розглянемо наведений нижче результат:

Журнал Git 5

Наведена вище команда містить список усіх комітів після '2019-11-01'.

Ми також можемо передати відповідний оператор посилання, як-от «вчора», «1 тиждень тому», «21 день тому» тощо. Він працюватиме як:

Матрична програма мовою c
 git log --after=&apos;21 days ago&apos; 

Наведена вище команда відобразить коміти, зроблені 21 день тому. Розглянемо наведений нижче результат:

Журнал Git 6

Ми також можемо відстежувати коміти між двома датами. Щоб відстежувати коміти, створені між двома датами, передайте посилання на оператор --раніше і --після Дата. Припустімо, ми хочемо відстежувати коміти між «2019-11-01» і «2019-11-08». Ми виконаємо команду наступним чином:

 $ git log --after=&apos;2019-11-01&apos; --before=&apos;2019-11-08 &apos; 

Наведена вище команда відобразить коміти, зроблені між датами. Розглянемо наведений нижче результат:

Журнал Git 7

Наведений вище результат відображає коміти між заданим періодом. Ми можемо використовувати --since і --until замість --after і --before. Бо це синоніми, відповідно.

За автором:

Ми можемо фільтрувати коміти за конкретним користувачем. Припустімо, ми хочемо перерахувати коміти, зроблені лише певним членом команди. Ми можемо використовувати прапорець -author, щоб фільтрувати коміти за іменем автора. Ця команда приймає регулярний вираз і повертає список комітів, зроблених авторами, які відповідають цьому шаблону. Ви можете використовувати точну назву замість шаблону. Ця команда виконуватиметься наступним чином:

 $ git log --author=&apos;Author name&apos; 

Наведена вище команда відобразить усі коміти, зроблені даним автором. Розглянемо наведений нижче результат:

Журнал Git 8

З наведеного вище виводу ми бачимо, що всі коміти автора Я Двіведі1 перераховані.

Ми можемо використовувати рядок замість регулярного виразу чи точного імені. Розглянемо наведене нижче твердження:

 $ git log --author=&apos;Stephen&apos; 

Наведений вище оператор відображатиме всі коміти, автор яких містить ім’я Stephen. Ім’я автора не повинно точно збігатися; це просто вказана фраза.

Як ми знаємо, електронна адреса автора також пов’язана з іменем автора, тому ми можемо використовувати електронну адресу автора як шаблон або точний пошук. Припустімо, ми хочемо відстежувати коміти авторів, чиєю службою електронної пошти є Google. Для цього ми можемо використовувати символи підстановки як «@gmail.com». Розглянемо наведене нижче твердження:

 $ git log -author=&apos;@gmail.com&apos; 

Наведена вище команда відобразить коміти авторів, як зазначено в шаблоні. Розглянемо наведений нижче результат:

Журнал Git 9

За повідомленням фіксації:

Щоб відфільтрувати коміти за повідомленням комітів. Ми можемо використовувати параметр grep, і він працюватиме як параметр автора.

Він працюватиме наступним чином:

 $ git log --grep=&apos; Commit message.&apos; 

Ми можемо використовувати коротку форму повідомлення коміту замість повного повідомлення. Розглянемо наведений нижче результат.

Журнал Git 10

Наведений вище результат відображає всі коміти, які містять слово commit у своєму повідомленні.

Існує багато інших доступних параметрів фільтрації, наприклад ми можемо фільтрувати за назвою файлу, вмістом тощо.