українська мова ▾ Topics ▾ Latest version ▾ git-annotate last updated in 2.51.0

НАЗВА

git-annotate - Анотує рядки файлу інформацією про коміт

СИНОПСИС

git annotate [<опції>] [<опції-ревізії>] [<ревізія>] [--] <файл>

ОПИС

Анотує кожен рядок у вказаному файлі інформацією про коміт, у якому рядок було додано. За бажанням, анотує з вказаної ревізії.

Єдина різниця між цією командою та git-blame[1] у використанні дещо різних форматів виводу і ця команда існує лише задля підтримки зворотньої сумісності зі скриптами, що вже існують, та надання звичнішої назви команди для людей, що приходять з інших систем управління вихідним кодом.

ОПЦІЇ

-b

Показує порожній SHA-1 для граничних комітів. Поведінка також може бути задана за допомогою параметра конфігурації blame.blankBoundary.

--root

Не розглядає кореневі коміти як межі. Поведінка також може бути задана за допомогою параметра конфігурації blame.showRoot.

--show-stats

Подає додаткову статистику наприкінці інформації про авторство.

-L <початок>,<кінець>
-L :<ім’я_функції>

Анотує лише проміжок рядків, заданий за допомогою <початку>,<кінця> або за регулярним виразом <ім’я_функції> назви функції. Може бути задано декілька разів. Допускається накладання проміжків.

<початок> та <кінець> необов’язкові. -L <початок> або -L <початок>, охоплює рядки від <початку> до кінця файлу. -L ,<кінець> - від початку файлу до <кінця>.

<start> і <end> може мати одну з цих форм:

  • <number>

    Якщо <start> або <end> є числом, воно визначає абсолютний номер рядка (рядки рахуються від 1).

  • /<regex>/

    Ця форма використовуватиме перший рядок, що відповідає заданому POSIX <regex>. Якщо <start> є регулярним виразом, пошук буде розпочато з кінця попереднього діапазону -L, якщо такий є, інакше з початку файлу. Якщо <start> є ^/<regex>/, пошук буде розпочато з початку файлу. Якщо <end> є регулярним виразом, пошук буде розпочато з рядка, заданого <start>.

  • +<offset> або -<offset>

    Це дійсне лише для <end> та визначатиме кількість рядків до або після рядка, заданого <start>.

Якщо :<funcname> вказано замість <start> та <end>, це регулярний вираз, який позначає діапазон від першого рядка funcname, що відповідає <funcname>, до наступного рядка funcname. :<funcname> шукає з кінця попереднього діапазону -L, якщо такий є, інакше з початку файлу. ^:<funcname> шукає з початку файлу. Назви функцій визначаються так само, як git diff обчислює заголовки патчів (див. «Визначення власного заголовка hunk» у gitattributes[5]).

-l

Показує повне значення ревізії (Типово: вимкнено).

-t

Показує необроблену мітку часу (Типово: вимкнено).

-S <файл_ревізій>

Використовує ревізії із вказаного файлу ревізій замість виклику git-rev-list[1].

--reverse <ревізія>..<ревізія>

Рухає історію вперед, а не назад. Замість відображення ревізії, у якій рядок з’явився, відображає останню ревізію у якій він існував. Для цього потрібно вказати проміжок ревізій, наприклад, ПОЧАТОК..КІНЕЦЬ, де рядок, який ви шукаєте, повинен існувати у ПОЧАТКУ. git blame --reverse ПОЧАТОК є скороченням для git blame --reverse ПОЧАТОК..HEAD.

--first-parent

Слідує лише за першим батьківським комітом після того, як побачить коміт злиття. Ця опція може бути використана для визначення, коли рядок з’явився саме у певній гілці, а не коли його в цілому було додано.

-p
--porcelain

Показує у форматі, призначеному для машинного використання.

--line-porcelain

Показує у "порцеляновому" форматі (як за використання --porcelain), але виводить інформацію про коміт для кожного рядка, а не лише за першої згадки про коміт.

--incremental

Показує результати покроково у форматі, призначеному для машинного використання.

--encoding=<кодування>

Визначає кодування для виводу імені автора та заголовку коміту. Встановлення значення none призводить до виводу неконвертованих даних. Детальніше дивіться обговорення кодування на сторінці посібника git-log[1].

--contents <файл>

Анотує використовуючи вміст вказаного файлу, починаючи з <ревізії>, якщо її визначено, або ж з HEAD. Ви можете вказати - аби команда зчитувала контент файлу зі стандартного вводу.

--date <формат>

Визначає формат виводу дати. Якщо цей параметр відсутній, буде використано значення параметру конфігурації blame.date. Якщо ж і його немає, то буде використано формат ISO. Задля ознайомлення із підтримуваними значенням дивіться обговорення параметру --date у git-log[1].

--[no-]progress

Типово, статус виконання виводиться у стандартному потоці помилок, коли він підключений до терміналу. Цей прапорець дозволяє виводити прогрес навіть коли такий потік не підключено. --progress не може використовуватися разом з --porcelain чи --incremental.

-M[<число>]

Виявляє переміщені чи скопійовані рядки всередині файлу. Коли коміт переміщує чи копіює сукупність рядків (наприклад, коли вихідний файл містить рядок А і потім Б, а коміт переставляє спочатку Б, а тоді А), традиційний алгоритм розпізнає лише половину руху і, зазвичай, приписує рядки, що були переміщені вгору (тобто Б), батьківському коміту, а рядки, що були переміщені вниз (тобто А), - дочірньому. Із цим параметром, обидві групи рядків приписуються батьківському шляхом виконання додаткових перевірок.

<число> необов’язкове. Це нижня межа кількості буквено-цифрових символів, які Git має визначити як переміщені/скопійовані всередині файлу, щоб пов’язати ці рядки із батьківським комітом. Типово дорівнює 20.

-C[<число>]

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

<число> необов’язкове. Це нижня межа кількості буквено-цифрових символів, які Git має визначити як переміщені/скопійовані між файлами, аби пов’язати ці рядки із батьківським комітом. Типово дорівнює 40. Якщо вказано більше одного параметру -C, то буде використано <число> останнього з них.

--ignore-rev <ревізія>

Ігнорувати зміни, внесені ревізією, під час призначення звинувачення, ніби змін ніколи не було. Рядки, які були змінені або додані ігнорованим комітом, будуть звинувачені в попередньому коміті, який змінив цей рядок або сусідні рядки. Цей параметр можна вказати кілька разів, щоб ігнорувати більше однієї ревізії. Якщо встановлено параметр конфігурації blame.markIgnoredLines, то рядки, які були змінені ігнорованим комітом і віднесені до іншого коміту, будуть позначені символом ? у виводі звинувачення. Якщо встановлено параметр конфігурації blame.markUnblamableLines, то ті рядки, яких торкнувся ігнорований коміт, які ми не змогли віднести до іншої ревізії, позначені символом *. У режимах porcelain ми друкуємо ignored та unblamable на новому рядку відповідно.

--ignore-revs-file <файл>

Нехтує ревізіями, що перелічені у <файлі>, який має бути в тому ж форматі що й fsck.skipList. Цей параметр може бути вказано декілька разів. Ці файли будуть опрацьовані після усіх файлів, що визначені параметром конфігурації blame.ignoreRevsFile. Порожнє ім’я файлу ("") очищає перелік ревізій з попередніх опрацьованих файлів.

--color-lines

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

--color-by-age

Забарвлює анотації до рядків у типовому форматі залежно від віку рядка. Параметр конфігурації color.blame.highlightRecent визначає який колір застосовувати для кожного вікового проміжку.

-h

Показує підказку.

ДИВ. ТАКОЖ

GIT

Частина набору git[1]