Русский ▾ Topics ▾ Latest version ▾ git-notes last updated in 2.50.0

НАЗВАНИЕ

git-notes — Добавление или просмотр заметок к объектам

ОБЗОР

git notes [list [<объект>]]
git notes add [-f] [--allow-empty] [--[no-]separator | --separator=<разрыв-абзаца>] [--[no-]stripspace] [-F <файл> | -m <сообщение> | (-c | -C) <объект>] [-e] [<объект>]
git notes copy [-f] ( --stdin | <объект-источник> [<объект-назначение>] )
git notes append [--allow-empty] [--[no-]separator | --separator=<разрыв-абзаца>] [--[no-]stripspace] [-F <файл> | -m <сообщение> | (-c | -C) <объект>] [-e] [<объект>]
git notes edit [--allow-empty] [<объект>] [--[no-]stripspace]
git notes show [<объект>]
git notes merge [-v | -q] [-s <стратегия> ] <ссылка-на-заметки>
git notes merge --commit [-v | -q]
git notes merge --abort [-v | -q]
git notes remove [--ignore-missing] [--stdin] [<объект>…​]
git notes prune [-n] [-v]
git notes get-ref

ОПИСАНИЕ

Добавляет, удаляет или читает заметки, прикреплённые к объектам, не касаясь самих объектов.

По умолчанию заметки сохраняются и читаются из refs/notes/commits, но это поведение по умолчанию может быть переопределено. См. разделы ПАРАМЕТРЫ, КОНФИГУРАЦИЯ и ОКРУЖЕНИЕ ниже. Если эта ссылка не существует, она будет незаметно создана при первой необходимости сохранить заметку.

Типичное использование заметок — дополнение сообщения коммита без изменения самого коммита. Заметки могут отображаться git log вместе с исходным сообщением коммита. Чтобы отличить эти заметки от сообщения, хранящегося в объекте-коммите, заметки имеют отступ, как и сообщение, после строки без отступа «Заметки (<имя-ссылки>):» (или «Заметки:» для refs/notes/commits).

Заметки также можно добавлять к патчам, подготовленным с помощью git format-patch, используя опцию --notes. Такие заметки добавляются как комментарий к патчу после строки-разделителя из трёх тире.

Чтобы изменить, какие заметки отображаются git log, см. обсуждение notes.displayRef в КОНФИГУРАЦИЯ.

См. конфигурацию notes.rewrite.<команда> для способа переноса заметок между командами, которые перезаписывают коммиты.

ПОДКОМАНДЫ

list

Вывести объект заметки для заданного объекта. Если объект не задан, показать список всех объектов заметок и объектов, которые они аннотируют (в формате «<объект-заметки> <аннотированный-объект>»). Это подкоманда по умолчанию, если подкоманда не указана.

add

Добавить заметки для заданного объекта (по умолчанию HEAD). Прерваться, если у объекта уже есть заметки (используйте -f для перезаписи существующих заметок). Однако, если вы используете add в интерактивном режиме (используя редактор для предоставления содержимого заметок), то вместо прерывания существующие заметки будут открыты в редакторе (как в подкоманде edit). Если вы укажете несколько -m и -F, между сообщениями будет вставлена пустая строка. Используйте опцию --separator, чтобы вставить другие разделители. Вы можете использовать -e для интерактивного редактирования и тонкой настройки сообщения(й), предоставленных из параметров -m и -F (с помощью редактора), перед добавлением заметки.

copy

Скопировать заметки для первого объекта на второй объект (по умолчанию HEAD). Прерваться, если у второго объекта уже есть заметки или если у первого объекта их нет (используйте -f для перезаписи существующих заметок во втором объекте). Эта подкоманда эквивалентна: git notes add [-f] -C $(git notes list <объект-источник>) <объект-назначение>

В режиме --stdin принимает строки в формате

<объект-источник> ПРОБЕЛ <объект-назначение> [ ПРОБЕЛ <остальное> ] ПЕРЕВОД_СТРОКИ

на стандартном вводе и копирует заметки из каждого <объекта-источника> в соответствующий <объект-назначение>. (Необязательный <остальное> игнорируется, чтобы команда могла читать ввод, передаваемый перехватчику post-rewrite.)

--stdin нельзя комбинировать с именами объектов, заданными в командной строке.

append

Добавить новые сообщения, заданные опциями -m или -F, к существующей заметке или добавить их как новую заметку, если она не существует, для объекта (по умолчанию HEAD). При добавлении к существующей заметке перед каждым новым сообщением добавляется пустая строка в качестве разделителя абзацев. Разделитель можно настроить с помощью параметра --separator. Отредактируйте заметки, добавляемые из параметров -m и -F, интерактивно с -e (с помощью редактора) перед добавлением заметки.

edit

Редактировать заметки для заданного объекта (по умолчанию HEAD).

show

Показать заметки для заданного объекта (по умолчанию HEAD).

merge

Выполнить слияние указанной ссылки на заметки с текущей ссылкой на заметки. Это попытается объединить изменения, сделанные указанной ссылкой на заметки (называемой «внешней»), начиная с базы слияния (если есть), в текущую ссылку на заметки (называемую «локальной»).

Если возникают конфликты и не задана стратегия автоматического разрешения конфликтующих заметок (см. раздел «СТРАТЕГИИ СЛИЯНИЯ ЗАМЕТОК»), используется средство разрешения manual. Это средство разрешения переключает конфликтующие заметки в специальный рабочий каталог (.git/NOTES_MERGE_WORKTREE) и даёт пользователю указание разрешить конфликты там вручную. После завершения пользователь может либо завершить слияние с помощью git notes merge --commit, либо прервать слияние с помощью git notes merge --abort.

remove

Удалить заметки для заданных объектов (по умолчанию HEAD). При указании нуля или одного объекта из командной строки это эквивалентно указанию пустого сообщения заметки для подкоманды edit.

В режиме --stdin также удалять имена объектов, заданные на стандартном вводе. Другими словами, --stdin можно комбинировать с именами объектов из командной строки.

prune

Удалить все заметки для несуществующих/недостижимых объектов.

get-ref

Вывести текущую ссылку на заметки. Это обеспечивает простой способ получения текущей ссылки на заметки (например, из сценариев).

ПАРАМЕТРЫ

-f
--force

При добавлении заметок к объекту, у которого уже есть заметки, перезаписать существующие заметки (вместо прерывания).

-m <сообщение>
--message=<сообщение>

Использовать заданное сообщение заметки (вместо приглашения на ввод). Если параметр -m задан несколько раз, то их значения объединяются, как отдельные абзацы.

-F <файл>
--file=<файл>

Взять сообщение заметки из указанного файла. Используйте - для того, чтобы прочитать сообщение из стандартного ввода.

-C <объект>
--reuse-message=<объект>

Взять данный blob-объект (например, другую заметку) в качестве сообщения заметки. (Вместо этого используйте git notes copy <объект> для копирования заметок между объектами.) Подразумевает --no-stripspace, поскольку поведение по умолчанию — копировать сообщение дословно.

-c <объект>
--reedit-message=<объект>

Как и -C, но с -c будет запущен редактор, так что пользователь может дополнительно отредактировать сообщение заметки.

--allow-empty

Разрешить хранение пустого объекта заметки. Поведение по умолчанию — автоматически удалять пустые заметки.

--separator=<разрыв-абзаца>
--separator
--no-separator

Укажите строку, используемую в качестве пользовательского разделителя между абзацами (при необходимости в конце добавляется новая строка). Если --no-separator, между абзацами не будут добавляться разделители. По умолчанию — пустая строка.

--stripspace
--no-stripspace

Очистить пробельные символы. А именно (см. git-stripspace[1]):

  • удалить конечные пробельные символы из всех строк

  • сжать несколько последовательных пустых строк в одну пустую строку

  • удалить пустые строки из начала и конца ввода