Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.41.1 → 2.48.1 no changes
- 2.41.0 06/01/23
- 2.39.1 → 2.40.4 no changes
- 2.39.0 12/12/22
- 2.34.1 → 2.38.5 no changes
- 2.34.0 11/15/21
- 2.31.1 → 2.33.8 no changes
- 2.31.0 03/15/21
- 2.30.1 → 2.30.9 no changes
- 2.30.0 12/27/20
- 2.29.1 → 2.29.3 no changes
- 2.29.0 10/19/20
- 2.23.1 → 2.28.1 no changes
- 2.23.0 08/16/19
- 2.18.1 → 2.22.5 no changes
- 2.18.0 06/21/18
- 2.16.6 → 2.17.6 no changes
- 2.15.4 no changes
- 2.13.7 → 2.14.6 no changes
- 2.12.5 09/22/17
- 2.11.4 09/22/17
- 2.9.5 → 2.10.5 no changes
- 2.8.6 07/30/17
- 2.7.6 07/30/17
- 2.5.6 → 2.6.7 no changes
- 2.4.12 05/05/17
- 2.3.10 09/28/15
- 2.1.4 → 2.2.3 no changes
- 2.0.5 12/17/14
ОПИСАНИЕ
Добавляет аннотацию к каждой строке заданного файла на основе информации из коммита, который добавил данную строку. По желанию, можно также задать ревизию на основе которой будут создаваться эти аннотации.
Единственная разница между данной командой и git-blame[1] в том, что их формат вывода несколько отличается. Данная команда существует только ради обратной совместимости и для поддержки уже существующих сценариев, а также дабы люди, знакомые с другими системами контроля версий, могли бы использовать команду с привычным им именем.
ПАРАМЕТРЫ
- -b
-
Выводить пустое пространство вместо SHA-1 для граничных коммитов. Этим также можно управлять, используя переменную конфигурации
blame.blankBoundary
. - --root
-
Не обрабатывать корневые коммиты, как граничные. Этим также можно управлять, используя переменную конфигурации
blame.showRoot
. - --show-stats
-
Включить дополнительную статистику в конец вывода информации об авторах изменений (
blame
). - -L <начало>,<конец>
- -L :<имя-функции>
-
Вывести аннотацию только для диапазона строк от <начала> и до <конца>» или для функции, заданной регулярным выражением «<имя-функции>». Может быть указан несколько раз. Диапазоны могут перекрывать друг друга.
<начало> и <конец> являются необязательными.
-L <начало>
или-L <начало>,
охватывает диапазон от <начала> до конца файла;-L ,<конец>
— от начала до <конца>.аттрибуты
<начало>
и<конец>
могут принимать одну из следующих форм:-
число
Если
<начало>
или<конец>
— это число, оно указывает порядковый номер строки (нумерация строк начинается с 1). -
/регулярное-выражение/
Эта форма будет использовать первую строку, сопоставленную заданному регулярному выражению POSIX. Если
<начало>
является регулярным выражением, поиск будет осуществляться с конца предыдущего диапазона, заданного в-L
, если таковой имеется, в противном случае — с начала файла. Если<начало>
имеет форму^/регулярное-выражение/
, поиск всегда будет производиться с начала файла. Если<конец>
является регулярным выражением, поиск будет начинаться со строки, заданной<началом>
. -
+смещение или -смещение
Использование этой формы допустимо только для
<конца>
. Она задаёт количество строк до или после строки, указанной в<начале>
.
Если вместо
<начало>
и<конца>
передано:<имя-функции>
, то это обозначает диапазон от первой строки, которая сопоставляется регулярному выражению<имя-функции>
, до следующей строки c именем функции. С:<имя-функции>
поиск будет осуществляться с конца предыдущего диапазона, заданного в-L
, если таковой имеется, в противном случае — с начала файла. С^:<имя-функции>
поиск всегда будет производиться с начала файла. Является ли строка именем функции определяются так же, какgit diff
определяет заголовки блоков патчей (см. раздел «Определение пользовательских заголовков блоков патчей» в gitattributes[5]). -
- -l
-
Показывать полные SHA-1 (По умолчанию: отключено).
- -t
-
Показывать необработанные временные метки (По умолчанию: отключено).
- -S <revs-file>
-
Использовать ревизии из <revs-file> вместо вызова git-rev-list[1].
- --reverse <редакция>..<редакция>
-
Идти вперёд по историю, а не назад. Вместо того, чтобы показать, в какой редакции появилась строка, с этим параметром будет показана последня редакция, в которой строка всё ещё существовала. Для этого требуется указать диапазон редакций в виде НАЧАЛО..КОНЕЦ, где путь для которого будут искаться изменения существует в НАЧАЛЕ. Для удобства,
git blame --reverse НАЧАЛО
работает какgit blame --reverse НАЧАЛО..HEAD
. - --first-parent
-
При обработке коммита-слияния, прослеживать только первый родительский коммит. Этот параметр можно использовать для определения того, когда некая линия изменений была привнесена в определённую интеграционную ветку, а не когда эти изменения были в принципе добавлены в историю.
- -p
- --porcelain
-
Выводить информацию в формате для программного разбора.
- --line-porcelain
-
Выводить информацию в машиночитаемом формате, но также добавлять информацию о коммите для каждой строки, а не только при первом его упоминании. Подразумевает --porcelain.
- --incremental
-
Выводить информацию в формате для программного разбора сразу по мере её поступления.
- --encoding=<кодировка>
-
Указывает кодировку для вывода имени автора и информации коммита. Если выставить в
none
, тогда blame выводит неизмененные данные. Для подробностей см. обсуждение кодировки на странице руководства git-log[1]. - --contents <файл>
-
Вывести аннотацию, используя содержимое из указанного файла, начиная с <редакции> (если она задана, иначе с HEAD). Вы можете передать «-» в качастве имени файла, чтобы команда читала из стандартного ввода.
- --date <формат>
-
Указывает формат даты. Если --date не указана, то используется значение переменной blame.date из конфигурации. Если переменная blame.date также не установлена, то используется формат ISO. Чтобы узнать о поддерживаемых значениях, см. обсуждение параметра --date в git-log[1].
- --[no-]progress
-
По умолчанию информация о ходе выполнения выводится в стандартный поток ошибок, когда он привязан к терминалу. Этот флаг позволяет выводить эту информацию, даже когда он привязан не к терминалу. Использовать
--progress
совместно с--porcelain
или--incremental
невозможно. - -M[<число>]
-
Выявлять перемещение и копирование строк внутри одного файла. Когда коммит перемещает или копирует блок строк (например, в исходном файле идёт сначала А, а затем Б, а коммит меняет их местами: сначала Б, а затем A), традиционный алгоритм blame замечает только половину этого перемещения и, как правило, приписывает изменения в строках, которые двигаются вверх (т.е. Б) родителю, а тех, которые были перемещены вниз (т.е. А) — дочернему коммиту. С этим параметром, благодаря запуску дополнительных проверок, обе группы строк будут приписаны родителю.
Аргумент <число> является необязательным; это то минимальное количество буквенно-цифровых символов, которые Git должен определить как передвинутые/скопированные внутри файла, чтобы он связывал эти строки с родительским коммитом. Значение по умолчанию — 20.
- -C[<число>]
-
В дополнение к
-M
, выявлять строки, перемещённые или скопированные из других файлов, которые были изменены в том же коммите. Это полезно, когда вы реорганизуете свою программу и перемещаете код между файлам. Если этот параметр задан дважды, команда дополнительно ищет строки, скопированные из других файлов в коммитах, которые создают файлы. Если этот параметр задан три раза, команда дополнительно ищет копии из других файлов в любом коммите.Аргумент <число> является необязательным; это то минимальное количество буквенно-цифровых символов, которые Git должен определить как передвинутые/скопированные между файлами, чтобы он связывал эти строки с родительским коммитом. И значение по умолчанию — 40. Если параметр
-C
задан более одного раза, то используется аргумент <число> последнего указанного-C
. - --ignore-rev <редакция>
-
Игнорировать изменения, внесённые редакцией при поиске авторов изменений, как будто этих изменений никогда не было. Строки, которые были изменены или добавлены проигнорированным коммитом, будут приписаны предыдущему коммиту, который изменил эту строку или близлежащие строки. Этот параметр может быть задан несколько раз, чтобы проигнорировать более одной ревизии. Если переменная конфигурации
blame.markIgnoredLines
установлена, то строки, которые принадлежали проигнорированному коммиту, а затем приписаны к другому, будут помечены знаком вопроса (?
) при выводе. Если переменная конфигурацииblame.markUnblamableLines
установлена, то строки, принадлежавшие проигнорированному коммиту, но которые алгоритм не смог приписать какому-либо другому, будут помечены звёздочкой (*
). - --ignore-revs-file <file>
-
Игнорировать редакции, перечисленные в
файле
, который должен быть в том же формате, что иfsck.skipList
. Этот параметр может быть повторён несколько раз; все эти файлы будут обрабатываться после файлов, указанных в переменной конфигурацииblame.ignoreRevsFile
. Пустое имя файла,""
, очистит список редакций из ранее обработанных файлов. - --color-lines
-
Окрашивать аннотации строк в формате по умолчанию другим цветом, если они происходят из того же коммита, что и предыдущая строка. Это облегчает различение блоков кода, добавленных различными коммитами. Цвет по умолчанию — циановый, и его можно настроить с помощью параметра конфигурации
color.blame.repeatedLines
. - --color-by-age
-
Окрашивать аннотации строк в формате по умолчанию в зависимости от возраста строки. Какой цвет используется для каждого диапазона возрастов управляется параметром конфигурации
color.blame.highlightRecent
. - -h
-
Показать справку.
GIT
Является частью пакета git[1]