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

НАЗВА

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

СИНОПСИС

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

ОПИС

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

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

ОПЦІЇ

-b

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

--root

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

--show-stats

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

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

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

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

<початок> та <кінець> можуть мати один з наступних форматів:

  • число

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

  • /регулярний_вираз/

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

  • +зсув або -зсув

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

Якщо :<ім'я_функції> надано замість <початку> та <кінця>, то це є регулярним виразом, що визначатиме проміжок від першого рядка з назвою функції, що відповідає <імені функції>, до наступного рядка з назвою функції. Пошук за :<іменем_функції> розпочнеться з кінця попереднього проміжку -L, якщо такий існує, або ж з початку файлу. Пошук за ^:<іменем_функції> розпочнеться з початку файлу. Імена функцій визначаються так само, як git diff опрацьовує заголовки шматків латок (дивіться Визначення власних заголовків шматків у 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, то рядки, на які вплинув знехтуваний коміт, але які не були приписані до іншого, будуть позначені символом *.

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

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

--color-lines

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

--color-by-age

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

-h

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

ДИВ. ТАКОЖ

GIT

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

scroll-to-top