АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

git-log - Интернет в облаке

Запустите git-log в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

Это команда git-log, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


git-log - Показать журналы фиксации

СИНТАКСИС


мерзавец журнал [ ] [ ] [[-] ...]

ОПИСАНИЕ


Показывает журналы фиксации.

Команда принимает параметры, применимые к команде git rev-list, чтобы управлять тем, что отображается.
и как, и параметры, применимые к командам git diff- *, чтобы контролировать, как изменения каждого
фиксации показаны.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


--следить
Продолжить перечисление истории файла без переименований (работает только для одного файла).

--no-decorate, --decorate [= короткий | полный | нет]
Распечатайте ссылочные имена всех отображаемых коммитов. Если короткие указан, исх.
префиксы имен ссылки / главы /, ссылки / теги / и ссылки / пульты / не будут напечатаны. Если полный
указано, будет напечатано полное имя ссылки (включая префикс). Вариант по умолчанию
is короткие.

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

--use-mailmap
Используйте файл mailmap для сопоставления имен авторов и коммиттеров и адресов электронной почты с каноническими
настоящие имена и адреса электронной почты. Видеть git-шортлог(1).

--полная разница
Без этого флага git log -p ... показывает коммиты, которые касаются указанных путей,
и различается примерно по тем же указанным путям. При этом отображается полная разница для
коммиты, которые касаются указанных путей; это означает, что " ... "только ограничения
совершает и не ограничивает разницу для этих коммитов.

Обратите внимание, что это влияет на все типы вывода на основе diff, например, производимые --stat,
и так далее

- размер журнала
Включите строку «размер журнала» ”В выводе для каждого коммита, где является
длина сообщения этого коммита в байтах. Предназначен для ускорения работы инструментов, читающих журнал
сообщения из вывода журнала git, позволяя им заранее выделить место.

-L , : , -L: :
Проследите эволюцию линейного диапазона, заданного выражением " , "(или имя функции
регулярное выражение ) в пределах . Вы не можете указывать какие-либо ограничители pathspec. Это
в настоящее время ограничено прогулкой, начиная с одной ревизии, т. е. вы можете дать только
ноль или один положительный аргумент ревизии. Вы можете указать эту опцию более одного раза.

а также может принимать одну из следующих форм:

· количество

Если или это число, оно указывает абсолютный номер строки (количество строк
с 1 г.)

· / Регулярное выражение /

Эта форма будет использовать первую строку, соответствующую заданному регулярному выражению POSIX. Если это
regex, он будет искать с конца предыдущего диапазона -L, если таковой имеется, в противном случае
с начала файла. Если это «^ / regex /», поиск будет выполняться с начала
файл. Если является регулярным выражением, он будет искать, начиная со строки, заданной .

· + Смещение или -смещение

Это действительно только для и укажет количество строк до или после
строка, данная .

Если ": »Дается вместо а также , это регулярное выражение
который обозначает диапазон от первой строки имени функции, которая соответствует , вверх к
следующая строка имени функции. «: »Выполняет поиск с конца предыдущего диапазона -L, если
любой, иначе с начала файла. «^: »Поиск с начала файла.


Показать только коммиты в указанном диапазоне ревизий. Когда нет является
указано, по умолчанию используется HEAD (т.е. вся история до текущего коммита).
origin..HEAD указывает все коммиты, доступные из текущего коммита (т.е. HEAD),
но не по происхождению. Полный список способов написания см.
Указание Диапазоны раздел gitrevisions(7).

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

Пути могут нуждаться в префиксе '' - '', чтобы отделить их от параметров или
диапазон ревизии, когда возникает путаница.

Совершать Ограничивающий
Помимо указания диапазона коммитов, которые должны быть перечислены с использованием специальных обозначений
объяснено в описании, может применяться дополнительное ограничение фиксации.

Использование дополнительных параметров обычно еще больше ограничивает вывод (например, --since = пределы
совершает новее, чем , и используя его с --grep = дальнейшие ограничения на коммиты
чье сообщение журнала имеет строку, которая соответствует ), если не указано иное.

Обратите внимание, что они применяются перед параметрами упорядочивания и форматирования фиксации, такими как
--задний ход.

- , -n , --max-count =
Ограничьте количество коммитов для вывода.

--skip =
Пропускать номер совершает перед тем, как начать показывать вывод фиксации.

--since = , --after =
Показать коммиты более поздние, чем определенная дата.

--until = , --before =
Показать коммиты старше определенной даты.

--author = , --committer =
Ограничьте вывод коммитов теми, у которых строки заголовка автора / коммиттера соответствуют
указанный шаблон (регулярное выражение). С более чем одним --author = , совершает
чей автор соответствует любому из заданных шаблонов (аналогично для нескольких
--committer = ).

--grep-reflog =
Ограничьте вывод коммитов теми, у которых есть записи рефлога, соответствующие указанному шаблону
(регулярное выражение). С более чем одним --grep-reflog коммиты, чье сообщение reflog
соответствует любому из заданных шаблонов. Использование этой опции является ошибкой, если только
--walk-reflogs уже используется.

--grep =
Ограничьте вывод коммитов теми, у которых сообщение журнала соответствует указанному шаблону
(регулярное выражение). С более чем одним --grep = , совершает чье сообщение
соответствует любой из указанных шаблонов (но смотрите --all-match).

Когда действует --show-notes, сообщение из заметок сопоставляется, как если бы оно было
часть сообщения журнала.

--все совпадения
Ограничьте вывод коммитов теми, которые соответствуют всем заданным --grep, вместо тех, которые
совпадение хотя бы с одним.

--invert-grep
Ограничьте вывод коммитов теми, у которых сообщение журнала не соответствует шаблону
указывается с помощью --grep = .

-i, --regexp-игнорировать регистр
Сопоставление шаблонов ограничения регулярных выражений без учета регистра букв.

--basic-regexp
Считайте ограничивающие шаблоны базовыми регулярными выражениями; это значение по умолчанию.

-E, --расширенное-регулярное выражение
Считайте ограничивающие шаблоны расширенными регулярными выражениями вместо
базовые регулярные выражения по умолчанию.

-F, --фиксированные-строки
Считайте ограничивающие шаблоны фиксированными строками (не интерпретируйте шаблон как
регулярное выражение).

--perl-regexp
Считайте ограничивающие шаблоны регулярными выражениями, совместимыми с Perl. Требует
libpcre для компиляции.

--remove-пустой
Остановитесь, когда заданный путь исчезнет с дерева.

- сливается
Печатать только коммиты слияния. Это в точности то же самое, что и --min-parent = 2.

--не-слияния
Не печатайте коммиты с более чем одним родителем. Это точно так же, как
--max-parent = 1.

--min-родители = , --max-parent = , --no-min-parent, --no-max-parent
Показывать только те коммиты, у которых есть хотя бы (или максимум) столько же родительских коммитов. В
в частности, --max-Родители = 1 то же самое, что и --no-merges, --min-parent = 2 то же самое, что
- появляется. --max-parent = 0 дает все корневые коммиты, а --min-parent = 3 - все осьминоги
сливается.

--no-min-parent и --no-max-parent снова сбрасывают эти ограничения (без ограничений).
Эквивалентные формы --min-parent = 0 (любая фиксация имеет 0 или более родителей) и
--max-parent = -1 (отрицательные числа означают отсутствие верхнего предела).

- первый родитель
Следуйте только за первой родительской фиксацией, увидев фиксацию слияния. Этот вариант может дать
лучший обзор при просмотре эволюции конкретной тематической ветки, потому что
слияния в тематическую ветку, как правило, связаны только с настройкой на обновленное восходящее направление из
время от времени, и эта опция позволяет вам игнорировать отдельные внесенные коммиты
в вашу историю таким слиянием. Нельзя сочетать с --bisect.

--нет
Изменяет значение ^ префикс (или его отсутствие) для всех последующих ревизий
спецификаторы, до следующего --not.

--все
Представьте, что все ссылки в refs / перечислены в командной строке как .

- ветки [= ]
Представьте, что все ссылки в refs / Head указаны в командной строке как .
If задано, ограничьте количество ветвей теми, которые соответствуют заданной оболочке. Если шаблон
не хватает ?, *или [, /* в конце подразумевается.

--tags [= ]
Представьте, что все ссылки в refs / tags перечислены в командной строке как . Если
задано, ограничить теги теми, которые соответствуют заданному глобу оболочки. Если нет рисунка ?,
*или [, /* в конце подразумевается.

--remotes [= ]
Представьте, что все ссылки в refs / remotes перечислены в командной строке как .
If задано, ограничить ветки удаленного отслеживания ветками, соответствующими данной оболочке
шарик. Если шаблон отсутствует ?, *или [, /* в конце подразумевается.

--glob =
Притворись, как будто все ссылки совпадают с оболочкой glob перечислены на
командная строка как . Ведущий ссылки /, автоматически добавляется в начало, если отсутствует. Если
шаблон отсутствует ?, *или [, /* в конце подразумевается.

--exclude =
Не включать сопоставление реф. что следующие --all, --branches, --tags,
--remotes или --glob иначе было бы рассмотрено. Повторения этого варианта накапливаются
шаблоны исключения до следующего --all, --branches, --tags, --remotes или --glob
вариант (другие варианты или аргументы не очищают накопленные шаблоны).

Приведенные шаблоны не должны начинаться с ссылок / заголовков, ссылок / тегов или ссылок / пультов, когда
применяется к --branches, --tags или --remotes соответственно, и они должны начинаться с
refs / применительно к --glob или --all. Если трейлинг /* предназначено, это должно быть дано
явно.

--reflog
Представьте, что все объекты, упомянутые в журналах рефлогов, перечислены в командной строке как
.

--игнорировать-отсутствует
Увидев недопустимое имя объекта во входных данных, сделайте вид, будто плохих входных данных нет.
данный.

- разрезать пополам
Притворись, как если бы в списке была указана неверная бисекция refs / bisect / bad, и как если бы она была
за которым следует --not и правильное разделение пополам refs refs / bisect / good- * в командной строке.
Не может сочетаться с --first-parent.

--стдин
В дополнение к перечисленные в командной строке, прочтите их из стандартного
Вход. Если -- виден разделитель, прекратите чтение коммитов и начните чтение путей к
ограничить результат.

- вишневый знак
Аналогично --cherry-pick (см. Ниже), но эквивалентные коммиты помечаются знаком =, а не опускаются.
их, а неэквивалентные с +.

- вишня
Пропустите любую фиксацию, которая вводит то же изменение, что и другая фиксация на «другой стороне».
когда набор коммитов ограничен симметричной разницей.

Например, если у вас есть две ветки, A и B, обычный способ перечислить все коммиты на
только одна сторона из них с --left-right (см. пример ниже в описании
опции --left-right). Однако он показывает отобранные коммиты.
из другой ветви (например, «3rd on b» может быть выбран из ветви A).
С этой опцией такие пары коммитов исключаются из вывода.

- только слева, - только справа
List фиксирует только соответствующие стороны симметричного диапазона, т.е. только те, которые
будет помечен как <соотв. > слева направо.

Например, --cherry-pick --right-only A ... B пропускает те коммиты из B, которые находятся в
A или патч-эквивалентны фиксации в A. Другими словами, здесь перечислены коммиты +
из git cherry A B. Точнее, --cherry-pick --right-only --no-merges дает
точный список.

--вишня
Синоним --right-only --cherry-mark --no-merges; полезно ограничить вывод до
коммиты на нашей стороне и отметьте те, которые были применены к другой стороне
разветвленная история с помощью git log --cherry upstream ... mybranch, похоже на git cherry
вверх по течению mybranch.

-g, --walk-reflogs
Вместо того, чтобы идти по цепочке предков коммитов, пройдитесь по записям рефлога из самых последних
один к старшим. Когда используется эта опция, вы не можете указать коммиты для исключения.
(это, ^ совершить, коммит1..коммит2и совершить1 ... совершить2 обозначения использовать нельзя).

С --pretty форматом, отличным от oneline (по очевидным причинам), это вызывает вывод
чтобы иметь две дополнительные строки информации, взятые из журнала ссылок. По умолчанию, совершить @ {Nth}
обозначение используется в выводе. Когда начальная фиксация указана как совершить @ {сейчас},
вывод также использует совершить @ {timestamp} обозначение вместо этого. Под --pretty = oneline
Сообщение фиксации предваряется этой информацией в той же строке. Этот вариант не может
можно комбинировать с --reverse. Смотрите также git-reflog(1).

- объединить
После неудачного слияния покажите ссылки, которые касаются файлов, имеющих конфликт и не существующих на
все головы слить.

- граница
Вывод исключенных границ фиксируется. Пограничные коммиты имеют префикс -.

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

Следующие параметры выбирают коммиты для отображения:


Фиксирует изменение данного выбраны.

--упросто-декорированием
Выбираются коммиты, на которые ссылается некоторая ветка или тег.

Обратите внимание, что дополнительные коммиты могут быть показаны, чтобы дать значимую историю.

Следующие параметры влияют на способ выполнения упрощения:

Режим по умолчанию
Упрощает историю до простейшей истории, объясняющей конечное состояние дерева.
Самый простой, потому что он обрезает некоторые боковые ветви, если конечный результат такой же (т. Е.
объединение веток с одинаковым содержанием)

--полная история
То же, что и режим по умолчанию, но не удаляет часть истории.

--плотный
Отображаются только выбранные коммиты, а также некоторые из них, чтобы иметь значимую историю.

- разреженный
Показаны все коммиты в упрощенной истории.

--simplify-слияния
Дополнительная опция к --full-history для удаления ненужных слияний из результирующего
история, так как нет выбранных коммитов, способствующих этому слиянию.

--ancestry-путь
Когда задан диапазон отображаемых коммитов (например, коммит1..коммит2 or коммит2 ^ commit1),
отображать только те коммиты, которые существуют непосредственно в цепочке предков между коммит1 и
коммит2, т.е. коммиты, которые являются потомками коммит1, и предки коммит2.

Далее следует более подробное объяснение.

Предположим, вы указали foo как . Мы будем вызывать коммиты, изменяющие foo! TREESAME,
а остальные TREESAME. (В diff, отфильтрованном для foo, они выглядят разными и одинаковыми,
соответственно.)

В дальнейшем мы всегда будем ссылаться на один и тот же пример истории, чтобы проиллюстрировать
различия между настройками упрощения. Мы предполагаем, что вы фильтруете файл
foo на этом графике фиксации:

.-A --- M --- N --- O --- P --- Q
/ / / / / /
ИБКДЕЙ
\ / / / / /
`------------- 'X

Горизонтальная линия истории A --- Q считается первым родителем каждого слияния. В
коммиты:

· I - начальная фиксация, в которой существует foo с содержимым «asdf», а файл quux
существует с содержанием «quux». Начальные коммиты сравниваются с пустым деревом, поэтому я
! ДЕРЕВЬЯ.

· В языке A foo содержит только «foo».

· B содержит то же изменение, что и A. Его слияние M тривиально и, следовательно, TREESAME для всех
родители.

· C не изменяет foo, но его слияние N изменяет его на «foobar», поэтому это не TREESAME
любому родителю.

· D устанавливает foo в «baz». Его слияние O объединяет строки от N и D до «foobarbaz»;
то есть, это не ДЕРЕВЬЕВО ни для одного родителя.

· E заменяет quux на «xyzzy», а его слияние P объединяет строки в «quux xyzzy». P - это
TREESAME на O, но не на E.

· X - это независимый корневой коммит, который добавил новую сторону файла, а Y изменил ее. Y есть
ДЕРЕВЬЯ к X. Его слияние Q добавило сторону к P, а Q - ДЕРЕВО к P, но не к Y.

rev-list перемещается назад по истории, включая или исключая коммиты в зависимости от того,
Используются --full-history и / или родительская перезапись (через --parents или --children). В
доступны следующие настройки.

Режим по умолчанию
Коммиты включаются, если они не являются TREESAME для какого-либо родителя (хотя это может быть
изменено, см. --sparse ниже). Если фиксация была слиянием, и это было ДРЕВЕСИЕ до одного
родитель, следовать только за этим родителем. (Даже если у TREESAME несколько родителей, следуйте
только один из них.) В противном случае следите за всеми родителями.

Это приводит к:

.-A --- N --- O
// /
Я БЫ

Обратите внимание, что правило следовать только родительскому элементу TREESAME, если он доступен, удалено B
из рассмотрения целиком. C рассматривался через N, но это TREESAME. Корневые коммиты
сравниваются с пустым деревом, так что я! TREESAME.

Отношения родитель / потомок видны только с --parents, но это не влияет на
коммиты выбраны в режиме по умолчанию, поэтому мы показали родительские строки.

--полная история без родительской перезаписи
Этот режим отличается от режима по умолчанию в одном: всегда следовать за всеми родителями слияния,
даже если для одного из них это ДЕРЕВЬЕВО. Даже если более чем одна сторона слияния
коммитов, которые включены, это не означает, что само слияние есть! в
Например, мы получаем

IABNDOPQ

M был исключен, потому что он является ДЕРЕВЬЕМ для обоих родителей. E, C и B все прошли пешком,
но только B был! TREESAME, поэтому другие не появляются.

Обратите внимание, что без родительской перезаписи невозможно говорить о
отношения родитель / потомок между коммитами, поэтому мы показываем их отключенными.

--полная история с родительской перезаписью
Обычные коммиты включаются, только если они есть! TREESAME (хотя это можно изменить,
см. --sparse ниже).

Слияния всегда включены. Однако их родительский список переписывается: вдоль каждого
parent, удалите коммиты, которые не включены сами по себе. Это приводит к

.-A --- M --- N --- O --- P --- Q
/ / / / /
IB / D /
\ / / / /
`------------- '

Сравните с --full-history без переписывания выше. Обратите внимание, что E был удален, потому что
это TREESAME, но родительский список P был переписан, чтобы содержать I родительского элемента E.
то же самое произошло с C и N, а также с X, Y и Q.

В дополнение к вышеуказанным настройкам вы можете изменить, влияет ли TREESAME на включение:

--плотный
Проходящие коммиты включаются, если они не являются TREESAME ни для одного из родителей.

- разреженный
Все пройденные коммиты включены.

Обратите внимание, что без --full-history это все еще упрощает слияние: если один из родителей
есть TREESAME, мы следуем только этому, поэтому другие стороны слияния никогда не
шел.

--simplify-слияния
Во-первых, постройте график истории так же, как --full-history с родительской перезаписью.
делает (см. выше).

Затем упростите каждый коммит C до его замены C 'в окончательной истории в соответствии с
следующие правила:

· Установите C 'на C.

· Заменить каждый родитель P элемента C 'его упрощением P'. В процессе уроните
родители, которые являются предками других родителей или которые являются root-коммитами TREESAME,
пустое дерево и удалите дубликаты, но постарайтесь никогда не отбрасывать всех родителей, которые
мы ДЕРЕВО.

· Если после этой родительской перезаписи C 'является корневой фиксацией или фиксацией слияния (имеет ноль или> 1
parent), пограничный коммит или! TREESAME, он остается. В противном случае его заменяют
со своим единственным родителем.

Эффект от этого лучше всего демонстрируется путем сравнения с --full-history с родительским
переписывание. Пример превращается в:

.-А --- М --- Н --- О
// /
IBD
\ / /
`--------- '

Обратите внимание на основные различия в N, P и Q в --full-history:

· Родительский список N я удалил, потому что он является предком другого родителя M.
Тем не менее, N остался, потому что он есть! TREESAME.

· Родительский список P я удалил аналогичным образом. Затем P был полностью удален, потому что
у него был один родитель, и он является ДРЕВЕСНЫМ.

· В родительском списке Q Y был упрощен до X. Затем X был удален, потому что это был
ДЕРЕВЬЯ корень. Затем Q был полностью удален, потому что у него был один родитель и
ДЕРЕВЬЯ.

Наконец, доступен пятый режим упрощения:

--ancestry-путь
Ограничьте отображаемые коммиты теми, которые находятся непосредственно в цепочке предков между «от»
и «to» совершает фиксацию в указанном диапазоне фиксации. Т.е. отображать только те коммиты, которые
предок коммита «to» и потомки коммита «from».

В качестве примера использования рассмотрим следующую историю фиксации:

D --- E ------- F
/ \ \
B --- C --- G --- H --- I --- J
/\
А ------- К --------------- Л - М

Обычный Д..М вычисляет набор коммитов, которые являются предками M, но исключает
те, которые являются предками D. Это полезно, чтобы увидеть, что случилось с историей
что ведет к M, начиная с D, в том смысле, что «что есть у M, чего не существовало в D».
Результатом в этом примере будут все коммиты, кроме A и B (и самого D,
курс).

Когда мы хотим выяснить, какие коммиты в M заражены ошибкой, представленной
D и нуждаются в исправлении, однако мы можем захотеть просмотреть только подмножество Д..М , которые являются
на самом деле потомки D, т.е. исключая C и K. Это именно то, что
--ancestry-path вариант. Применяется к Д..М диапазон, это приводит к:

E ------- F
\ \
G --- H --- I --- J
\
L - M

Параметр --simplify-by-decoration позволяет просматривать только общую картину
топология истории, пропуская коммиты, на которые не ссылаются теги. Коммиты
помечен как! TREESAME (другими словами, сохраняется после описания правил упрощения истории)
выше), если (1) на них ссылаются теги, или (2) они изменяют содержимое путей
задано в командной строке. Все остальные коммиты помечены как TREESAME (подлежат
упрощено прочь).

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

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

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

--topo-порядок
Не показывать родителей, пока не будут показаны все его дочерние элементы, и не показывать коммиты на
несколько строк истории перемешаны.

Например, в такой истории коммитов:

--- 1 ---- 2 ---- 4 ---- 7
\ \

3 ---- 5 ---- 6 ---- 8 ---
где числа обозначают порядок отметок времени фиксации, git rev-list и друзей с
--date-order показать коммиты в порядке отметок времени: 8 7 6 5 4 3 2 1.

С --topo-order они покажут 8 6 5 3 7 4 2 1 (или 8 7 4 2 6 5 3 1); некоторые старше
коммиты отображаются перед более новыми, чтобы не показывать коммиты из двух
параллельные разработки смешаны вместе.

--задний ход
Выведите коммиты в обратном порядке. Нельзя сочетать с --walk-reflogs.

объект пересечение
Эти параметры в основном предназначены для упаковки репозиториев Git.

--no-walk [= (отсортировано | несортировано)]
Показывать только данные коммиты, но не пересекать их предков. Это не имеет никакого эффекта
если указан диапазон. Если аргумент не отсортирован, коммиты отображаются в
порядок, в котором они были указаны в командной строке. В противном случае (если отсортировано или не было аргументов
указано), коммиты показаны в обратном хронологическом порядке по времени фиксации. Не может быть
в сочетании с --graph.

- гулять
Отменяет предыдущий параметр --no-walk.

Совершать форматирование
--pretty [= ], --format =
Достаточно распечатать содержимое журналов фиксации в заданном формате, где может быть
один из одна линия, короткие, средний, полный, более полное, e-mail, сырье, формат: и
tformat:. Когда не является ни одним из вышеперечисленных и имеет % заполнитель в нем это
действует как если бы --pretty = tformat: были даны.

Дополнительные сведения о каждом формате см. В разделе «СОВЕРШЕННЫЕ ФОРМАТЫ». Когда
знак равно часть опущена, по умолчанию средний.

Примечание: вы можете указать красивый формат по умолчанию в конфигурации репозитория (см.
git-конфигурация(1 г.)).

--abbrev-совершить
Вместо того, чтобы показывать полное 40-байтовое шестнадцатеричное имя объекта фиксации, показывать только
частичный префикс. Количество цифр не по умолчанию можно указать с помощью "--abbrev = "
(который также изменяет вывод diff, если он отображается).

Это должно сделать "--pretty = oneline" более читабельным для людей, использующих
Клеммы на 80 столбцов.

--no-abbrev-commit
Показать полное 40-байтовое шестнадцатеричное имя объекта фиксации. Это отменяет --abbrev-commit и
те параметры, которые подразумевают это, такие как «--oneline». Он также отменяет
log.abbrevCommit Переменная.

--одна линия
Это сокращение от "--pretty = oneline --abbrev-commit", используемых вместе.

--encoding =
Объекты фиксации записывают кодировку, используемую для сообщения журнала, в своей кодировке.
заголовок; эту опцию можно использовать, чтобы указать команде, что нужно перекодировать сообщение журнала фиксации.
в кодировке, предпочитаемой пользователем. Для команд, не связанных с сантехникой, это значение по умолчанию
UTF-8. Обратите внимание: если объект утверждает, что он закодирован в X, а мы выводим в X, мы
выведет объект дословно; это означает, что недопустимые последовательности в оригинале
фиксация может быть скопирована на вывод.

--notes [= ]
Показать заметки (см. git-заметки(1)), которые аннотируют фиксацию, при отображении фиксации
сообщение журнала. Это значение по умолчанию для команд git log, git show и git whatchanged.
когда в командной строке не задана опция --pretty, --format или --oneline.

По умолчанию показанные заметки взяты из ссылок на заметки, перечисленных в core.notesRef и
примечания.displayRef переменные (или соответствующие переопределения среды). Видеть git-конфигурация(1)
Больше подробностей.

С необязательным аргумент, покажите ссылку на эту заметку вместо заметок по умолчанию
исх. Ссылка указывает полное имя ссылки, когда она начинается с refs / notes /; когда это
начинается с notes /, refs /, в противном случае к refs / notes / добавляется префикс, чтобы сформировать полное имя
исх.

Несколько параметров --notes можно комбинировать для управления отображаемыми заметками.
Примеры: «--notes = foo» покажет только заметки из «refs / notes / foo»; "--notes = foo
--notes »отобразит как заметки из« refs / notes / foo », так и ссылки на заметки по умолчанию.

--без заметок
Не показывать заметки. Это отменяет указанную выше опцию --notes, сбрасывая список
заметки ссылки, из которых показаны заметки. Параметры анализируются в порядке, указанном на
командная строка, поэтому, например, "--notes --notes = foo --no-notes --notes = bar" будет отображаться только
заметки из "refs / notes / bar".

--show-notes [= ], - [нет-] стандартные примечания
Эти параметры устарели. Вместо этого используйте указанные выше параметры --notes / - no-notes.

--show-подпись
Проверьте действительность подписанного объекта фиксации, передав подпись в gpg --verify
и покажите результат.

- относительная дата
Синоним --date = relative.

--date =
Действует только для дат, отображаемых в удобочитаемом формате, например, при использовании
--хорошенький. Переменная конфигурации log.date устанавливает значение по умолчанию для параметра --date команды журнала.
вариант. По умолчанию даты отображаются в исходном часовом поясе (либо коммиттера, либо
авторы). Если к формату добавлено -local (например, iso-local), локальный
вместо этого используется часовой пояс.

--date = relative показывает даты относительно текущего времени, например, «2 часа назад». В
Параметр -local нельзя использовать с --raw или --relative.

--date = local - это псевдоним для --date = default-local.

--date = iso (или --date = iso8601) показывает временные метки в формате, подобном ISO 8601. В
Отличия от строгого формата ISO 8601:

· Пробел вместо разделителя даты и времени T

· Промежуток между временем и часовым поясом

· Отсутствие двоеточия между часами и минутами часового пояса

--date = iso-strict (или --date = iso8601-strict) показывает временные метки в строгом ISO 8601
формат.

--date = rfc (или --date = rfc2822) показывает временные метки в формате RFC 2822, часто встречающиеся в
сообщения электронной почты.

--date = short показывает только дату, но не время, в формате ГГГГ-ММ-ДД.

--date = raw показывает дату во внутреннем необработанном формате Git% s% z.

--date = format: ... передает формат ... в вашу систему strftime. Используйте --date = format:% c
для отображения даты в предпочтительном для вашей системы формате. См. Руководство по strftime для
полный список заполнителей формата. При использовании -local правильный синтаксис:
--date = format-local: ....

--date = default - это формат по умолчанию, он похож на --date = rfc2822, с некоторыми
исключения:

· После дня недели нет запятой

· Часовой пояс не указывается, когда используется местный часовой пояс

--родители
Выведите также родителей фиксации (в форме «родитель фиксации ...»). Также позволяет
родительская перезапись, см. История упрощение внизу.

--дети
Выведите также дочерние элементы фиксации (в форме «дочерняя фиксация ...»). Также позволяет
родительская перезапись, см. История упрощение внизу.

--лево право
Отметьте, с какой стороны симметричного различия достижима фиксация. Коммит слева
стороны имеют префикс <, а те, что справа, ->. В сочетании с --boundary,
эти коммиты имеют префикс -.

Например, если у вас такая топология:

у --- б --- б ветвь Б
/\/
/.
// \
о --- х --- а --- ветвь A

вы получите такой результат:

$ git rev-list --left-right --boundary --pretty = oneline A ... B

> bbbbbbb ... 3-е место на b
> bbbbbbb ... 2-й на b
<аааааа... 3-е место
<аааааа... 2-й на
-yyyyyyy ... 1-е место b
-xx... 1-й на

--граф
Нарисуйте текстовое графическое представление истории коммитов слева.
вывода. Это может привести к тому, что между коммитами будут напечатаны дополнительные строки, чтобы
чтобы история графика отображалась правильно. Нельзя сочетать с --no-walk.

Это позволяет родительскую перезапись, см. История упрощение внизу.

По умолчанию это подразумевает параметр --topo-order, но параметр --date-order также может
быть уточненным.

--show-linear-break [= ]
Когда --graph не используется, все ветви истории сглаживаются, что может затруднить
убедитесь, что две последовательные фиксации не принадлежат линейной ветви. Этот вариант
в этом случае ставит между ними барьер. Если указан, это
строка, которая будет отображаться вместо строки по умолчанию.

Разница форматирование
Ниже перечислены параметры, управляющие форматированием вывода diff. Некоторые из них
специфичные для git-rev-список(1), однако могут быть указаны другие варианты различий. Видеть git-diff-
файлов(1) для получения дополнительных опций.

-c
С этой опцией вывод diff для фиксации слияния показывает отличия от каждого из
родители к результату слияния одновременно, вместо того, чтобы показывать попарную разницу
между родителем и результатом по одному. Кроме того, в нем перечислены только файлы, которые
были переделаны у всех родителей.

--cc
Этот флаг подразумевает параметр -c и дополнительно сжимает вывод патча, опуская
неинтересные ханки, содержание которых в родителях имеет только два варианта и слияние
Результат выбирает один из них без изменений.

-m
Этот флаг заставляет коммиты слияния отображать полную разницу, как при обычных коммитах; для каждого
родительского слияния, создается отдельная запись в журнале и создается различие. Исключением является то, что только
diff для первого родителя отображается, когда задана опция --first-parent; в этом
случае, выходные данные представляют изменения, внесенные слиянием в тогдашний
филиал.

-r
Показать рекурсивные различия.

-t
Показать объекты дерева в выводе diff. Это подразумевает -r.

ДОВОЛЬНО ФОРМАТЫ


Если фиксация - это слияние, а красивый формат - нет одна линия, e-mail or сырье,
дополнительная строка вставляется перед Автор: линия. Эта строка начинается с «Объединить:» и
sha1 наследственных коммитов печатаются через пробел. Обратите внимание, что перечисленные
коммиты не обязательно могут быть списком направлять родитель делает коммит, если вы ограничили
ваш взгляд на историю: например, если вас интересуют только изменения, связанные с
определенный каталог или файл.

Есть несколько встроенных форматов, и вы можете определить дополнительные форматы, установив
хорошенький. config на другое имя формата или Формат: строка, как
описано ниже (см. git-конфигурация(1)). Вот подробности встроенных форматов:

· одна линия



Он разработан, чтобы быть максимально компактным.

· короткие

совершить
Автор:



· средний

совершить
Автор:
Дата:





· полный

совершить
Автор:
Совершить:





· более полное

совершить
Автор:
Дата автора:
Совершить:
CommitDate:





· e-mail

Из
Из:
Дата:
Тема: [ПАТЧ]



· сырье

Ассоциация сырье формат показывает всю фиксацию точно так, как она хранится в объекте фиксации.
Примечательно, что SHA-1 отображаются полностью, независимо от того, --abbrev или
--no-abbrev используются, и родители информация показывает истинные родительские коммиты, без
с учетом трансплантатов или упрощения анамнеза. Обратите внимание, что этот формат влияет на
способ отображения коммитов, но не способ отображения различий, например, с помощью git log
--сырой. Чтобы получить полные имена объектов в формате raw diff, используйте --no-abbrev.

· формат:

Ассоциация формат: формат позволяет указать, какую информацию вы хотите отображать.
Он немного похож на формат printf, за тем исключением, что вы получаете
перевод строки с %n вместо \n.

Например, формат: "The автор of %h законопроект % an, % ar% n название законопроект >>% s <<% n " покажет
что-то вроде этого:

Автором fe6e0ee был Junio ​​C Hamano, 23 часа назад.
Заголовок был >> t4119: test autocomputing -p для традиционного ввода различий. <

Заполнители:

· %H: совершить хеш

· %h: сокращенный хеш фиксации

· %T: хеш дерева

· %t: сокращенный хеш дерева

· %P: родительские хэши

· %p: сокращенные родительские хэши

· % an: имя автора

· % aN: имя автора (уважительно .mailmap, см. git-шортлог(1) или мерзавец(1))

· % ae: электронная почта автора

· % aE: адрес электронной почты автора (относительно .mailmap, см. git-шортлог(1) или мерзавец(1))

· %объявление: дата автора (формат соответствует --date = option)

· %объявление: дата автора, стиль RFC2822

· % ar: дата автора, родственник

· : дата автора, временная метка UNIX

· % ai: дата автора, формат, подобный ISO 8601

· % aI: дата автора, строгий формат ISO 8601

· % cn: имя коммиттера

· % cN: имя коммиттера (в отношении .mailmap, см. git-шортлог(1) или мерзавец(1))

· % ce: электронная почта коммиттера

· % cE: адрес электронной почты коммиттера (относительно .mailmap, см. git-шортлог(1) или мерзавец(1))

· %CD: дата коммиттера (формат соответствует --date = option)

· %CD: дата коммиттера, стиль RFC2822

· % cr: дата коммиттера, относительная

· % ct: дата коммиттера, временная метка UNIX

· % ci: дата коммиттера, формат, подобный ISO 8601

· % cI: дата коммиттера, строгий формат ISO 8601

· %d: ref имена, такие как опция --decorate в git-журнал(1)

· %D: ref имена без оболочки "(", ")".

· %e: кодировка

· %s: тема

· %f: очищенная строка темы, подходящая для имени файла

· %b: тело

· %B: необработанное тело (объект и тело без упаковки)

· %N: совершить заметки

· % GG: необработанное проверочное сообщение от GPG для подписанного коммита

· %ГРАММ?: показать "G" для хорошей подписи, "B" для плохой подписи, "U" для хорошей подписи,
ненадежная подпись и "N" для отсутствия подписи

· % GS: показать имя подписавшего для подписанного коммита

· % GK: показать ключ, используемый для подписи подписанного коммита

· % gD: селектор reflog, например refs / stash @ {1}

· % gd: сокращенный селектор рефлога, например stash @ {1}

· % gn: имя личности reflog

· % gN: reflog идентификационное имя (уважая .mailmap, см. git-шортлог(1) или мерзавец
обвинять(1))

· % ge: reflog идентификационный адрес электронной почты

· % gE: reflog идентификационный адрес электронной почты (в отношении .mailmap, см. git-шортлог(1) или мерзавец
обвинять(1))

· % gs: reflog тема

· % Кредит: переключить цвет на красный

· % Cgreen: переключить цвет на зеленый

· % Cblue: переключить цвет на синий

· % Creset: сбросить цвет

· % C (...): спецификация цвета, как описано в параметре конфигурации color.branch. *; добавление
auto, вначале будет излучать цвет только тогда, когда цвета включены для вывода журнала
(по color.diff, color.ui или --color, и соблюдая автоматические настройки
бывший, если мы идем к терминалу). только авто (т.е.% C (авто)) включится
автоматическая раскраска следующих заполнителей до тех пор, пока цвет не изменится снова.

· %m: левая, правая или граничная отметка

· %n: новая линия

· %%: необработанный %

· % x00: распечатать байт из шестнадцатеричного кода

· % w ([ [, [, ]]]): переключить перенос строки, как опция -w в мерзавец
короткий журнал(1).

· % <( [, trunc | ltrunc | mtrunc]): сделать так, чтобы следующий заполнитель занимал не менее N столбцов,
если необходимо, заполните пробелы справа. Необязательно обрезать в начале
(ltrunc), середина (mtrunc) или конец (trunc), если вывод длиннее N
столбцы. Обратите внимание, что усечение правильно работает только при N> = 2.

· % <| ( ): сделать следующий заполнитель, по крайней мере, до N-го столбца, заполнение
пробелы справа при необходимости

· %> ( ), %> | ( ): похожий на % <( ), % <| ( ) соответственно, но пробелы
налево

· % >> ( ), % >> | ( ): похожий на %> ( ), %> | ( ) соответственно, за исключением того, что если
следующий заполнитель занимает больше пробелов, чем указано, и слева от него есть пробелы,
используйте эти места

· %> <( ), %> <| ( ): похожий на % <( ), % <| ( ) соответственно, но оба дополнения
стороны (т.е. текст по центру)

Внимание
Некоторые заполнители могут зависеть от других параметров, предоставленных механизму обхода исправлений.
Например, параметры% g * reflog вставят пустую строку, если мы не
просмотр записей журнала ссылок (например, с помощью git log -g). Заполнители% d и% D будут использовать
"короткий" формат оформления, если --decorate еще не был указан в команде
линии.

Если вы добавите + (знак плюса) после % заполнителя, перевод строки вставляется немедленно
перед раскрытием тогда и только тогда, когда заполнитель расширяется до непустой строки.

Если вы добавите - (знак минус) после % заполнителя, перевод строки, непосредственно предшествующий
раскрытие удаляется тогда и только тогда, когда заполнитель заменяется пустой строкой.

Если вы добавите `` (пробел) после % заполнителя, пробел вставляется непосредственно перед
расширение тогда и только тогда, когда заполнитель расширяется до непустой строки.

· формат:

Ассоциация формат: формат работает точно так же, как Формат:, за исключением того, что содержит "терминатор"
семантика вместо семантики "разделителя". Другими словами, каждый коммит имеет
добавлен символ конца сообщения (обычно новая строка), а не разделитель
помещается между записями. Это означает, что последняя запись однострочного формата будет
должным образом заканчиваться новой строкой, как это делает однострочный формат. Для
пример:

$ git log -2 --pretty = format:% h 4da45bef \
| perl -pe '$ _. = "- НЕТ НОВОЙ СТРОКИ \ n", если только / \ n /'
4da45be
7134973 - НЕТ NEWLINE

$ git log -2 --pretty = tformat:% h 4da45bef \
| perl -pe '$ _. = "- НЕТ НОВОЙ СТРОКИ \ n", если только / \ n /'
4da45be
7134973

Кроме того, любая нераспознанная строка, в которой есть%, интерпретируется как имеющая
tformat: перед ним. Например, эти два эквивалента:

$ git log -2 --pretty = tformat:% h 4da45bef
$ git log -2 --pretty =% h 4da45bef

ОБЩИЙ DIFF ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


-р, -у, --патч
Сгенерировать патч (см. Раздел о создании патчей).

-s, --no-патч
Подавить вывод diff. Полезно для таких команд, как git show, которые показывают патч от
по умолчанию или для отмены эффекта --patch.

-U , --unified =
Создавайте различия с помощью строки контекста вместо обычных трех. Подразумевает -p.

--сырой
Для каждой фиксации покажите сводку изменений, используя необработанный формат сравнения. Смотрите "RAW
ВЫХОДНОЙ ФОРМАТ »раздела git-diff(1). Это отличается от отображения самого журнала
в необработанном формате, чего можно добиться с помощью --format = raw.

--patch-with-raw
Синоним -p --raw.

- минимальный
Потратьте дополнительное время на то, чтобы получить минимально возможную разницу.

--терпение
Сгенерируйте различие, используя алгоритм "терпения различий".

- гистограмма
Сгенерируйте разницу, используя алгоритм "гистограммы сравнения".

--diff-algorithm = {терпение | минимальная | гистограмма | myers}
Выберите алгоритм сравнения. Возможны следующие варианты:

по умолчанию, Майерс
Базовый жадный алгоритм сравнения. В настоящее время это значение по умолчанию.

минимальный
Потратьте дополнительное время на то, чтобы получить минимально возможную разницу.

терпение
При создании патчей используйте алгоритм "терпение различий".

Гистограмма
Этот алгоритм расширяет алгоритм терпения, чтобы «поддерживать редко встречающиеся общие
элементы ".

Например, если вы настроили для переменной diff.algorithm значение, отличное от значения по умолчанию, и
хотите использовать значение по умолчанию, тогда вам нужно использовать параметр --diff-algorithm = default.

--stat [= [, [, ]]]
Создайте diffstat. По умолчанию для
часть имени файла, а остальное - часть графа. По умолчанию максимальная ширина соответствует терминалу
ширина или 80 столбцов, если они не подключены к терминалу, и могут быть переопределены .
Ширину части имени файла можно ограничить, задав другую ширину
после запятой. Ширина графической части может быть ограничена с помощью
--stat-ширина-графика = (влияет на все команды, формирующие график статистики) или
установка diff.statGraphWidth = (не влияет на git format-patch). Давая
третий параметр , вы можете ограничить вывод первым линии, за которыми следуют
по ... если есть еще.

Эти параметры также можно установить индивидуально с помощью --stat-width = ,
--stat-имя-ширина = и --stat-count = .

--numstat
Аналогично --stat, но показывает количество добавленных и удаленных строк в десятичной системе счисления и
имя пути без сокращений, чтобы сделать его более удобным для машины. Для двоичных файлов
выводит два - вместо того, чтобы сказать 0 0.

--shortstat
Вывести только последнюю строку формата --stat, содержащую общее количество измененных
файлов, а также количество добавленных и удаленных строк.

--dirstat [= ]
Выведите распределение относительного количества изменений для каждого подкаталога. В
поведение --dirstat можно настроить, передав ему список разделенных запятыми
параметры. Значения по умолчанию контролируются конфигурационной переменной diff.dirstat.
(См. git-конфигурация(1)). Доступны следующие параметры:

изменения
Вычислите числа dirstat, посчитав строки, которые были удалены из
источник или добавлен в место назначения. Это игнорирует количество чистого кода
движения внутри файла. Другими словами, перестановка строк в файле не
посчитал столько же, сколько и другие изменения. Это поведение по умолчанию, когда нет параметра
дано.

линий
Вычислите числа dirstat, выполнив обычный линейный анализ различий, и
суммирование количества удаленных / добавленных строк. (Для двоичных файлов подсчитывайте 64-байтовые фрагменты.
вместо этого, поскольку двоичные файлы не имеют естественного представления о строках). Это более
дорого --dirstat behavior, чем изменение поведения, но это учитывается
переставил строки в файле так же, как и другие изменения. В результате получается
в соответствии с тем, что вы получаете от других - * параметров статистики.

файлов
Вычислите числа dirstat, посчитав количество измененных файлов. Каждый изменился
файл одинаково учитывается при анализе dirstat. Это самый дешевый с точки зрения вычислений
--dirstat, так как ему вообще не нужно просматривать содержимое файла.

кумулятивный
Подсчитайте изменения в дочернем каталоге и для родительского каталога. Обратите внимание, что
при использовании кумулятивного значения сумма указанных процентов может превышать 100%. В
поведение по умолчанию (не кумулятивное) может быть указано с помощью некумулятивного
Параметр.


Целочисленный параметр указывает процент отсечения (по умолчанию 3%). Справочники
вносящие меньший, чем этот процент изменений, не отображаются в выходных данных.

Пример: следующее будет подсчитывать измененные файлы, игнорируя каталоги с меньшим
более 10% от общего количества измененных файлов, а количество дочерних каталогов накапливается.
в родительских каталогах: --dirstat = files, 10, кумулятивно.

--резюме
Вывести сжатую сводку расширенной информации заголовка, такой как создание, переименование
и изменения режима.

--patch-with-stat
Синоним -p --stat.

-z
Разделяйте коммиты NUL вместо новых строк.

Кроме того, если задано --raw или --numstat, не изменяйте пути и используйте NUL как
терминаторы выходного поля.

Без этой опции каждый выходной путь будет иметь TAB, LF, двойные кавычки и
символы обратной косой черты заменены на \ t, \ n, \ "и \\ соответственно, а имя пути
будут заключены в двойные кавычки, если произошла какая-либо из этих замен.

- имя-только
Показывать только имена измененных файлов.

--имя-статус
Показывать только имена и статус измененных файлов. См. Описание --diff-filter
вариант того, что означают статусные буквы.

- подмодуль [= ]
Укажите, как отображаются различия в подмодулях. Когда --submodule или --submodule = log
дано журнал формат используется. В этом формате перечислены коммиты в диапазоне вроде мерзавец
подмодуль(1) резюме. Пропуск опции --submodule или указание
--submodule = short, использует короткие формат. Этот формат просто показывает имена
фиксируется в начале и в конце диапазона. Можно настроить с помощью подмодуля diff.submodule
переменная конфигурация.

--color [= ]
Показать цветной diff. --color (т.е. без знак равно) совпадает с --color = always.
может быть всегда, никогда или авто.

- бесцветный
Отключить цветной дифференциал. Это то же самое, что и --color = never.

--word-diff [= ]
Покажите слово diff, используя для разграничения измененных слов. По умолчанию слова
разделены пробелами; см. --word-diff-regex ниже. В по умолчанию простой,
и должен быть одним из:

цвет
Выделите измененные слова, используя только цвета. Подразумевает --color.

простой
Показывать слова как [-removed-] и {+ added +}. Не предпринимает попыток избежать
разделители, если они присутствуют во входных данных, поэтому выходные данные могут быть неоднозначными.

фарфор
Используйте специальный построчный формат, предназначенный для использования скриптом.
Добавленные / удаленные / неизмененные прогоны печатаются в обычном унифицированном формате сравнения,
начиная с символа + / - / `` в начале строки и продолжая до
конец строки. Новые строки во вводе представлены тильдой ~ в строке
своих собственных.

никто
Снова отключите слово diff.

Обратите внимание, что, несмотря на название первого режима, цвет используется для выделения измененного
детали во всех режимах, если они включены.

--word-diff-regex =
Использовать чтобы решить, что такое слово, вместо того, чтобы рассматривать пробелы без пробелов, чтобы
быть словом. Также подразумевает --word-diff, если он еще не был включен.

Каждый неперекрывающийся матч считается словом. Что-нибудь между
эти совпадения считаются пробелами и игнорируются (!) в целях поиска
различия. Вы можете добавить | [^ [: space:]] к своему регулярному выражению, чтобы сделать
убедитесь, что он соответствует всем непробельным символам. Соответствие, содержащее новую строку,
молча обрезается (!) на новой строке.

Например, --word-diff-regex =. будет рассматривать каждый символ как слово и,
соответственно, отображать различия по характеру.

Регулярное выражение также можно установить с помощью драйвера diff или параметра конфигурации, см.
gitattributes(1) или git-конфигурация(1). Предоставление этого явно отменяет любой драйвер diff или
настройка конфигурации. Драйверы различий переопределяют параметры конфигурации.

--color-words [= ]
Эквивалентно --word-diff = color plus (если было указано регулярное выражение)
--word-diff-regex = .

--no-переименовывает
Отключите обнаружение переименования, даже если в файле конфигурации указано значение по умолчанию.
так.

--проверить
Предупреждать, если изменения приводят к ошибкам, связанным с пробелами. Ошибки, связанные с пробелами, считаются
контролируется конфигурацией core.whitespace. По умолчанию завершающие пробелы
(включая строки, состоящие исключительно из пробелов) и пробел,
сразу после символа табуляции внутри начального отступа строки
считается ошибкой пробелов. Выход с ненулевым статусом при обнаружении проблем. Нет
совместим с --exit-code.

--ws-error-highlight =
Выделите ошибки пробелов в строках, указанных в цвете, указанном
color.diff.whitespace. представляет собой список старого, нового контекста, разделенного запятыми. Когда
эта опция не указана, выделяются только ошибки пробелов в новых строках. Например
--ws-error-highlight = new, old выделяет ошибки пробелов как при удалении, так и при добавлении
линий. all может использоваться как сокращение для старого, нового контекста.

--полный индекс
Вместо первой горстки символов покажите полные капли до и после изображения.
имена объектов в строке "index" при генерации вывода в формате патча.

- двоичный
В дополнение к --full-index вывести двоичную разницу, которую можно применить с помощью git-apply.

--abbrev [= ]
Вместо отображения полного 40-байтового шестнадцатеричного имени объекта в выводе в формате diff-raw
и строки заголовка diff-tree показывают только частичный префикс. Это не зависит от
Опция --full-index выше, которая управляет выходным форматом diff-patch. Не по умолчанию
количество цифр можно указать с помощью --abbrev = .

-B [ ] [/ ], --break-rewrites [= [ ] [/ ]]
Разбейте полные изменения перезаписи на пары удаления и создания. Это служит двум
цели:

Это влияет на то, как изменение, которое сводится к полной перезаписи файла, а не как серия
удаления и вставки, смешанные вместе с очень несколькими строками, которые совпадают
текстуально как контекст, но как единственное удаление всего старого, за которым следует
однократная вставка всего нового, и число m управляет этим аспектом -B
вариант (по умолчанию 60%). -B / 70% указывает, что менее 30% оригинала должно
остаются в результате, чтобы Git считал его полностью переписанным (т. е. в противном случае
результирующий патч будет серией удалений и вставок, смешанных с контекстом
линии).

При использовании с -M полностью перезаписанный файл также считается источником
переименовать (обычно -M рассматривает только исчезнувший файл как источник переименования),
а число n управляет этим аспектом опции -B (по умолчанию 50%). -B20%
указывает, что изменение с добавлением и удалением по сравнению с 20% или более
размер файла может быть выбран как возможный источник переименования в
другой файл.

-M [ ], --find-renames [= ]
При генерации различий обнаруживайте и сообщайте о переименованиях для каждой фиксации. Для следующих файлов
при переименовании при просмотре истории, см. --follow. Если указано n, это
порог индекса сходства (т.е. количество добавлений / удалений по сравнению с
размер файла). Например, -M90% означает, что Git должен рассматривать пару удаления / добавления как
переименовать, если более 90% файла не изменилось. Без знака% номер должен
следует читать как дробь с десятичной точкой перед ней. То есть -M5 становится 0.5, а
Таким образом, то же самое, что и -M50%. Точно так же -M05 совпадает с -M5%. Чтобы ограничить обнаружение
точное переименование, используйте -M100%. Индекс подобия по умолчанию - 50%.

-C [ ], --find-copy [= ]
Обнаруживать копии, а также переименовывать. См. Также --find-copy-harder. Если указано n, оно
имеет то же значение, что и -M .

- найти-копии-сложнее
Из соображений производительности по умолчанию опция -C находит копии только в том случае, если исходный файл
копии были изменены в том же наборе изменений. Этот флаг заставляет команду проверять
немодифицированные файлы в качестве кандидатов в источник копии. Это очень дорого
для больших проектов, поэтому используйте его с осторожностью. Предоставление более одной опции -C
имеет тот же эффект.

-D, --необратимо-удалить
Пропускайте прообраз для удалений, то есть печатайте только заголовок, но не разницу между
preimage и / dev / null. Полученный патч не предназначен для применения с патчем или
git apply; это исключительно для людей, которые хотят просто сосредоточиться на просмотре
текст после изменения. Кроме того, в выходных данных явно не хватает информации, чтобы
применить такой патч в обратном порядке, даже вручную, отсюда и название опции.

При использовании вместе с -B опускать также прообраз в части удаления
удалить / создать пару.

-l
Опции -M и -C требуют времени обработки O (n ^ 2), где n - количество
потенциальные цели переименования / копирования. Эта опция предотвращает запуск обнаружения переименования / копирования
если количество целей переименования / копирования превышает указанное число.

--diff-filter = [(A | C | D | M | R | T | U | X | B) ... [*]]
Выберите только файлы, которые добавлены (A), скопированы (C), удалены (D), изменены (M), переименованы
(R), изменили их тип (например, обычный файл, символическая ссылка, подмодуль, ...) (T), являются
Не объединенные (U), Неизвестные (X) или их пара Сломана (B). Любая комбинация
из символов фильтра (в том числе ни одного) можно использовать. Когда добавлено * (Все или ничего)
к комбинации, все пути выбираются, если есть какой-либо файл, который соответствует другому
критерии сравнения; если нет файла, соответствующего другим критериям, ничего
.

-S
Ищите различия, которые изменяют количество вхождений указанной строки
(т.е. добавление / удаление) в файле. Предназначен для использования сценаристом.

Это полезно, когда вы ищете точный блок кода (например, структуру) и хотите
чтобы узнать историю этого блока с момента его появления: используйте функцию
итеративно передать интересный блок в прообразе обратно в -S и продолжить
пока не получите самую первую версию блока.

-ГРАММ
Ищите отличия, текст патча которых содержит добавленные / удаленные строки, соответствующие .

Чтобы проиллюстрировать разницу между -S --pickaxe-regex и -G , рассмотреть возможность
фиксация со следующей разницей в том же файле:

+ return! regexec (regexp, two-> ptr, 1, ®match, 0);
...
- hit =! regexec (regexp, mf2.ptr, 1, ®match, 0);

В то время как git log -G "regexec \ (regexp" покажет эту фиксацию, git log -S "regexec \ (regexp"
--pickaxe-regex не будет (потому что количество вхождений этой строки не
изменение).

Смотрите пост в киркомотыга вход в gitdiffcore(7) для получения дополнительной информации.

--pickaxe-все
Когда -S или -G находят изменение, показывать все изменения в этом наборе, а не только
файлы, содержащие изменение в .

--кирка-regex
Лечить передается -S как расширенное регулярное выражение POSIX для сопоставления.

-O
Выведите патч в порядке, указанном в , который имеет одну оболочку
узор в строке. Это отменяет конфигурационную переменную diff.orderFile (см. мерзавец
конфиг(1)). Чтобы отменить diff.orderFile, используйте -O / dev / null.

-R
Поменять местами два входа; то есть показать различия от индекса или файла на диске к дереву
содержание.

--relative [= ]
При запуске из подкаталога проекта можно указать исключить изменения вне
каталог и отображать пути относительно него с помощью этой опции. Когда тебя нет
подкаталог (например, в пустом репозитории), вы можете назвать подкаталог, который нужно сделать
выход относительно, задавая как аргумент.

-текст
Считайте все файлы текстовыми.

--ignore-space-at-eol
Игнорировать изменения пробелов в EOL.

-b, --игнорировать-пробел-изменение
Игнорировать изменения количества пробелов. Это игнорирует пробелы в конце строки и
считает все остальные последовательности одного или нескольких пробельных символов эквивалентными.

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

--игнорировать пустые строки
Игнорировать изменения, все строки которых пусты.

--inter-hunk-context =
Показать контекст между блоками различий до указанного количества строк, тем самым
сплавление кусков, находящихся близко друг к другу.

-W, --функция-контекст
Показать все окружающие функции изменений.

--ext-diff
Разрешить выполнение внешнего помощника diff. Если вы установите внешний драйвер diff с
gitattributes(5), вам нужно использовать эту опцию с git-журнал(1) и друзья.

--no-ext-diff
Запретить внешние драйверы различий.

--текстконв, --но-текстконв
Разрешить (или запретить) запуск внешних фильтров преобразования текста при сравнении двоичных файлов
файлы. Видеть gitattributes(5) для подробностей. Поскольку фильтры textconv обычно
одностороннее преобразование, результирующая разница подходит для потребления человеком, но не может
применяться. По этой причине фильтры textconv по умолчанию включены только для мерзавец
Разница(1) и git-журнал(1), но не для git-формат-патч(1) или команды сантехники различий.

--ignore-submodules [= ]
Игнорировать изменения субмодулей при генерации различий. может быть либо «нет»,
"неотслеживаемый", "грязный" или "все" - значение по умолчанию. Использование "none" будет учитывать
подмодуль изменен, если он содержит неотслеживаемые или измененные файлы или его HEAD
отличается от фиксации, записанной в суперпроекте, и может использоваться для отмены любого
настройки игнорировать вариант в git-конфигурация(1) или gitmodules(5). Когда "неотслеживаемый"
используемые подмодули не считаются грязными, если они содержат только неотслеживаемый контент (но
они все еще сканируются на предмет измененного содержимого). Использование "dirty" игнорирует все изменения в
дерево работы подмодулей, сохраняются только изменения коммитов, хранящихся в суперпроекте.
показано (так было до версии 1.7.0). Использование "все" скрывает все изменения в
подмодули.

--src-prefix =
Показывать данный исходный префикс вместо "a /".

--dst-prefix =
Показывать префикс получателя вместо "b /".

- без префикса
Не показывать префиксы источника или назначения.

Для более подробного объяснения этих распространенных опций см. Также gitdiffcore(7).

ПОЛУЧЕНИЕ ПАТЧИ -P


Когда "git-diff-index", "git-diff-tree" или "git-diff-files" запускаются с -p вариант, "мерзавец
diff "без --сырой параметр или "git log" с параметром "-p", они не создают
вывод, описанный выше; вместо этого они создают файл исправления. Вы можете настроить создание
таких патчей через переменные среды GIT_EXTERNAL_DIFF и GIT_DIFF_OPTS.

Опция -p немного отличается от традиционного формата diff:

1. Ему предшествует заголовок "git diff", который выглядит следующим образом:

diff --git a / file1 b / file2

Имена файлов a / и b / одинаковы, если не используется переименование / копирование. Особенно даже
для создания или удаления / dev / null является не используется вместо a / или b /
имена файлов.

Когда используется переименование / копирование, file1 и file2 показывают имя исходного файла
переименовать / скопировать и имя файла, который производит переименование / копирование, соответственно.

2. За ним следует одна или несколько расширенных строк заголовка:

старый режим
новый режим
режим удаленного файла
новый файловый режим
копировать из
скопировать в
переименовать из
переименовать в
индекс сходства
индекс несходства
показатель ..

Режимы файлов печатаются в виде шестизначных восьмеричных чисел, включая тип файла и файл.
биты разрешения.

Имена путей в расширенных заголовках не включают префиксы a / и b /.

Индекс сходства - это процент неизмененных линий, а индекс несходства
процент измененных строк. Это округленное целое число, за которым следует
знак процента. Таким образом, значение индекса сходства 100% зарезервировано для двух одинаковых файлов,
в то время как 100% несходство означает, что ни одна строка из старого файла не попала в новый
вариант.

Строка индекса включает контрольную сумму SHA-1 до и после изменения. В является
включается, если режим файла не меняется; в противном случае отдельные строки указывают на старый
и новый режим.

3. TAB, LF, двойные кавычки и обратная косая черта в именах путей представлены как \ t, \ n,
\ "и \\ соответственно. Если есть необходимость в такой замене, то весь
путь заключен в двойные кавычки.

4. Все файлы file1 в выводе относятся к файлам до фиксации, а все файлы file2
файлы относятся к файлам после фиксации. Неверно применять каждое изменение к каждому
файл последовательно. Например, этот патч поменяет местами a и b:

diff --git a / ab / b
переименовать из
переименовать в b
diff --git a / bb / a
переименовать из b
переименовать в

КОМБИНИРОВАННЫЙ DIFF ФОРМАТ


Любая команда генерации различий может принимать параметр -c или --cc для создания сочетании Разница когда
показывает слияние. Это формат по умолчанию при отображении слияний с git-diff(1) или мерзавец
показывать(1). Также обратите внимание, что вы можете указать опцию -m любой из этих команд, чтобы
генерация различий с отдельными родителями слияния.

A сочетании Разница формат выглядит так:

diff --combined описать.c
индекс fabadb8, cc95eb0..4866510
--- a / describe.c
+++ b / describe.c
@@@ -98,20 -98,12 +98,20 @@@
return (a_date> b_date)? -1: (a_date == b_date)? 0: 1;
}

- статическое описание void (char * arg)
-static void description (struct commit * cmit, int last_one)
++ статическое описание void (char * arg, int last_one)
{
+ беззнаковый символ sha1 [20];
+ struct commit * cmit;
struct commit_list * список;
статический int инициализирован = 0;
struct commit_name * n;

+ если (get_sha1 (arg, sha1) <0)
+ использование (describe_usage);
+ cmit = lookup_commit_reference (sha1);
+ если (! cmit)
+ использование (describe_usage);
+
if (! initialized) {
инициализировано = 1;
for_each_ref (get_name);

1. Ему предшествует заголовок "git diff", который выглядит следующим образом (когда -c опция
используемый):

diff --комбинированный файл

или как это (когда --cc вариант):

diff --cc файл

2. За ним следует одна или несколько расширенных строк заголовка (в этом примере показано слияние с
двое родителей):

показатель , ..
Режим , ..
новый файловый режим
режим удаленного файла ,

Режим , .. строка появляется только в том случае, если хотя бы один из является
отличается от остальных. Расширенные заголовки с информацией об обнаруженном содержимом
движение (переименование и обнаружение копирования) предназначены для работы с разницей двух
и не используются в комбинированном формате сравнения.

3. За ним следует двухстрочный заголовок из файла / в файл.

--- файл
+++ б / файл

Подобен двухстрочному заголовку для традиционного унифицированный формат diff, / dev / null используется для
сигнализировать о созданных или удаленных файлах.

4. Формат заголовка блока изменен, чтобы люди случайно не загрузили его в
патч -p1. Комбинированный формат сравнения был создан для просмотра изменений фиксации слияния и
не предназначен для подачи заявки. Изменение аналогично изменению в расширенном индекс
заголовок:

@@@ @@@

В заголовке блока для комбинированного сравнения есть (количество родителей + 1) символов @
формат.

В отличие от традиционных унифицированный diff, который показывает два файла A и B с одним
столбец, имеющий - (минус - появляется в A, но удален в B), + (плюс - отсутствует в A, но
добавлен к B) или префиксу "" (пробел - без изменений), этот формат сравнивает два или более файла
file1, file2, ... с одним файлом X и показывает, чем X отличается от каждого из fileN. Один столбец
для каждого из fileN добавляется к строке вывода, чтобы отметить, чем строка X отличается от
его.

Знак A в столбце N означает, что строка присутствует в файле N, но не отображается
в результате. Знак + в столбце N означает, что строка появляется в результате,
и fileN не имеет этой строки (другими словами, строка была добавлена ​​с точки
мнение этого родителя).

В выходных данных приведенного выше примера подпись функции была изменена из обоих файлов (следовательно, два
- удаления как из файла1, так и из файла2, плюс ++ означает, что одна строка, которая была добавлена, не
появляются либо в файле1, либо в файле2). Также восемь других строк совпадают с файлом file1, но делают
не отображается в файле2 (следовательно, с префиксом +).

При отображении с помощью git diff-tree -c он сравнивает родителей коммита слияния со слиянием.
результат (т.е. file1..fileN - это родители). При отображении с помощью git diff-files -c он сравнивает
два неразрешенных родителя слияния с файлом рабочего дерева (т.е. file1 - это этап 2, также известный как
«наша версия», file2 - это этап 3, также известный как «их версия»).

ПРИМЕРЫ


git log --no-merges
Показать всю историю коммитов, но пропустить любые слияния

git log v2.6.12 .. включить / scsi drivers / scsi
Показать все коммиты с версии v2.6.12 который изменил любой файл в include / scsi или
подкаталоги drivers / scsi

git log --since = "2 недели назад" - gitk
Показать изменения в файле за последние две недели мерзавец. Знак «-» необходим для
избегайте путаницы с филиал названный мерзавец

git log --name-status релиз..тест
Показать коммиты, которые находятся в ветке "test", но еще не находятся в ветке "release",
вместе со списком путей, изменяемых каждым коммитом.

git log --follow builtin / rev-list.c
Показывает коммиты, которые изменили файл builtin / rev-list.c, в том числе те, которые
произошло до того, как файлу было присвоено его настоящее имя.

git log --branches --not --remotes = origin
Показывает все коммиты, которые находятся в любой из локальных веток, но не в любой из удаленных веток
отделения для происхождения (то, что у вас есть, этого происхождения нет).

git log master --not --remotes = * / master
Показывает все коммиты, которые находятся в локальном главном сервере, но не в каком-либо главном удаленном репозитории.
ветви.

git log -p -m --first-parent
Показывает историю, включая изменения, но только с точки зрения «основной ветви»,
пропуск коммитов, которые происходят из объединенных ветвей, и отображение полных различий изменений
введены слияниями. Это имеет смысл только при соблюдении строгой политики
объединение всех тематических веток при нахождении в единой интеграционной ветке.

git log -L '/ int main /', / ^} /: main.c
Показывает, как функция main () в файле main.c развивалась с течением времени.

журнал git -3
Ограничивает количество отображаемых коммитов до 3.

ОБСУЖДЕНИЕ


Git в некоторой степени не зависит от кодировки символов.

· Содержимое больших двоичных объектов представляет собой неинтерпретируемые последовательности байтов. Здесь нет
кодирование перевода на базовом уровне.

· Имена путей кодируются в форме нормализации UTF-8 C. Это относится к объектам дерева,
индексный файл, имена ссылок, а также имена путей в аргументах командной строки,
переменные среды и файлы конфигурации (.git / config (см. git-конфигурация(1)), gitignore(5)
gitattributes(5) и gitmodules(5 г.)).

Обратите внимание, что Git на базовом уровне обрабатывает имена путей просто как последовательности, отличные от NUL.
байтов, преобразование кодировки имени пути не выполняется (кроме Mac и Windows).
Следовательно, использование имен путей, отличных от ASCII, в основном будет работать даже на платформах и файловых
системы, использующие устаревшие расширенные кодировки ASCII. Однако репозитории, созданные на
такие системы не будут работать должным образом в системах на основе UTF-8 (например, Linux, Mac, Windows)
наоборот. Кроме того, многие инструменты на основе Git просто предполагают, что имена путей
UTF-8 и не сможет правильно отображать другие кодировки.

· Сообщения журнала фиксации обычно кодируются в UTF-8, но другие расширенные кодировки ASCII
также поддерживаются. Сюда входят ISO-8859-x, CP125x и многие другие, но не
Многобайтовые кодировки UTF-16/32, EBCDIC и CJK (GBK, Shift-JIS, Big5, EUC-x, CP9xx
и т.д.).

Хотя мы рекомендуем кодировать сообщения журнала фиксации в UTF-8, как ядро, так и
Git Porcelain спроектирован так, чтобы не использовать UTF-8 в проектах. Если все участники
конкретному проекту удобнее использовать устаревшие кодировки, Git не запрещает
Это. Однако следует помнить о нескольких вещах.

1. мерзавец совершать и мерзавец дерево фиксации выдает предупреждение, если ему предоставлено сообщение журнала фиксации
не выглядит как допустимая строка UTF-8, если вы явно не укажете, что ваш проект использует
устаревшая кодировка. Можно сказать, что i18n.commitencoding находится в .git / config.
файл, например:

[и18н]
фиксация = ISO-8859-1

Объекты фиксации, созданные с помощью вышеуказанного параметра, записывают значение i18n.commitencoding.
в заголовке кодировки. Это сделано для того, чтобы помочь другим людям, которые посмотрят на них позже. Отсутствие
этот заголовок подразумевает, что сообщение журнала фиксации закодировано в UTF-8.

2. мерзавец журнал, мерзавец показывать, мерзавец обвинять и друзья смотрят на заголовок кодировки коммита
объект и попробуйте перекодировать сообщение журнала в UTF-8, если не указано иное. Ты
можно указать желаемую кодировку вывода с помощью i18n.logoutputencoding в .git / config
файл, например:

[и18н]
logoutputencoding = ISO-8859-1

Если у вас нет этой переменной конфигурации, значение i18n.commitencoding равно
используется вместо

Обратите внимание, что мы сознательно решили не перекодировать сообщение журнала фиксации, когда фиксация
сделано, чтобы заставить UTF-8 на уровне объекта фиксации, потому что перекодирование в UTF-8 не
обязательно обратимая операция.

КОНФИГУРАЦИЯ


Читать git-конфигурация(1) для основных переменных и git-diff(1) для настроек, связанных с diff
поколение.

формат.довольно
По умолчанию для параметра --format. (Видеть милая Форматы выше.) По умолчанию - средний.

i18n.logOutputEncoding
Кодировка, используемая при отображении журналов. (Видеть Обсуждение выше.) По умолчанию используется значение
i18n.commitEncoding, если установлено, и UTF-8 в противном случае.

дата журнала
Формат по умолчанию для удобочитаемых дат. (Сравните параметр --date.) По умолчанию
"default", что означает запись таких дат, как Sat May 8 19:35:34 2010 -0500.

log.follow
Если true, git log будет действовать так, как если бы использовалась опция --follow, когда один является
данный. Это имеет те же ограничения, что и --follow, то есть его нельзя использовать для отслеживания
несколько файлов и плохо работает с нелинейной историей.

log.showRoot
Если false, git log и связанные команды не будут рассматривать начальную фиксацию как большую
событие создания. Любые корневые коммиты в выводе git log -p будут показаны без разницы
прикрепил. По умолчанию это правда.

mailmap. *
Читать git-шортлог(1).

примечания.displayRef
Какие ссылки в дополнение к заданным по умолчанию в core.notesRef или GIT_NOTES_REF, читать
примечания от при отображении сообщений фиксации с семейством команд журнала. Видеть мерзавец
ноты(1).

Может быть несокращенным именем ссылки или глобусом, которое можно указывать несколько раз. А
предупреждение будет выдано для ссылок, которые не существуют, но глобус, который не соответствует ни одному
refs молча игнорируется.

Этот параметр может быть отключен параметром --no-notes, замененным параметром
GIT_NOTES_DISPLAY_REF переменная среды и переопределена параметром --notes =
опцию.

GIT


Часть мерзавец(1) люкс

Используйте git-log онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    АстрОрзПлеер
    АстрОрзПлеер
    AstrOrz Player — бесплатный медиаплеер.
    программное обеспечение, частично основанное на WMP и VLC.
    плеер выполнен в минималистическом стиле, с
    более десяти цветов темы, а также может
    б ...
    Скачать AstrOrzPlayer
  • 2
    Movistartv
    Movistartv
    Kodi Movistar+ TV является дополнением для XBMC/
    Коди, разрешенный к использованию
    decodificador de los servicios IPTV де
    Movistar интегрирован в один город
    медиацентры ма...
    Скачать киностартв
  • 3
    Code :: Blocks
    Code :: Blocks
    Code::Blocks — это бесплатная программа с открытым исходным кодом,
    кроссплатформенная C, C++ и Fortran IDE
    построен для удовлетворения самых взыскательных потребностей
    своих пользователей. Он разработан, чтобы быть очень
    расширенный ...
    Код загрузки::Блоки
  • 4
    среди
    среди
    Среда или расширенный интерфейс Minecraft
    и отслеживание данных / структуры - это инструмент для
    отобразить обзор Minecraft
    мир, фактически не создавая его. Это
    жестяная банка ...
    Скачать Среди
  • 5
    МСИС2
    МСИС2
    MSYS2 - это набор инструментов и
    библиотеки, предоставляющие вам
    удобная среда для строительства,
    установка и запуск родной Windows
    программное обеспечение. Это кон ...
    Скачать MSYS2
  • 6
    libjpeg-турбо
    libjpeg-турбо
    libjpeg-turbo - это кодек изображений JPEG
    который использует инструкции SIMD (MMX, SSE2,
    NEON, AltiVec) для ускорения базового уровня
    Сжатие и распаковка JPEG на
    x86, x8 ...
    Скачать libjpeg-turbo
  • Больше »

Команды Linux

Ad