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

Ad


Значок OnWorks

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

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

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

ПРОГРАММА:

ИМЯ


git-rev-parse - Выбор и массаж параметров

СИНТАКСИС


мерзавец рев-анализ [ --вариант ] ...

ОПИСАНИЕ


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

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


Эксплуатация Режимы
Каждый из этих параметров должен быть первым в командной строке.

--parseopt
Используйте мерзавец рев-анализ в режиме анализа опций (см. раздел PARSEOPT ниже).

--sq-цитата
Используйте мерзавец рев-анализ в режиме цитирования оболочки (см. раздел SQ-QUOTE ниже). В отличие от
параметр --sq ниже, в этом режиме выполняется только цитирование. Больше ничего не делается для командования
вход.

Опции для --parseopt
--keep-тире
Имеет смысл только в режиме --parseopt. Сообщает синтаксическому анализатору опций вывод первого -
встретились вместо того, чтобы пропустить это.

--stop-at-non-option
Имеет смысл только в режиме --parseopt. Позволяет синтаксическому анализатору опций останавливаться на первом
неопциональный аргумент. Это можно использовать для анализа подкоманд, которые принимают параметры
самих себя.

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

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

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

--флаги
Не выводить не флаговые параметры.

--нет флагов
Не выводить параметры флага.

Опции для Результат
--дефолт
Если параметр не указан пользователем, используйте вместо.

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

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

префикс = $ (git rev-parse --show-prefix)
cd "$ (git rev-parse --show-toplevel)"
eval "set - $ (git rev-parse --sq --prefix" $ prefix "" $ @ ")"

--проверять
Убедитесь, что указан ровно один параметр и его можно преобразовать в необработанный
20-байтовый SHA-1, который можно использовать для доступа к базе данных объектов. Если да, отправьте его в
стандартный вывод; в противном случае - ошибка.

Если вы хотите убедиться, что вывод действительно называет объект в вашем объекте
база данных и / или может использоваться как определенный тип объекта, который вам нужен, вы можете добавить
^ {type} оператор очистки от параметра. Например, git rev-parse "$ VAR ^ {commit}"
будет гарантировать, что $ VAR называет существующий объект, который является фиктивным (то есть фиксацией или
аннотированный тег, указывающий на фиксацию). Чтобы убедиться, что $ VAR называет существующий
объект любого типа, можно использовать git rev-parse "$ VAR ^ {object}".

-к, --тишина
Имеет смысл только в режиме --verify. Не выводить сообщение об ошибке, если первый аргумент
не является допустимым именем объекта; вместо этого выйдите с ненулевым статусом молча. SHA-1 для
действительные имена объектов выводятся на стандартный вывод в случае успеха.

--кв.
Обычно вывод осуществляется по одной строке на каждый флаг и параметр. Эта опция делает вывод
одинарная строка, правильно цитируемая для использования оболочкой. Полезно, когда вы ожидаете своего
параметр, содержащий пробелы и символы новой строки (например, при использовании кирки -S с мерзавец
diff- *). В отличие от опции --sq-quote, ввод команды по-прежнему интерпретируется
как обычно.

--нет
При отображении имен объектов ставьте перед ними префикс ^ и раздеться ^ префикс из имен объектов
которые уже есть.

--abbrev-ref [= (строгий | свободный)]
Однозначное краткое название имени объекта. Параметр core.warnAmbiguousRefs равен
используется для выбора режима строгого сокращения.

--short, --short = число
Вместо вывода полных значений SHA-1 имен объектов попробуйте сократить их до
более короткое уникальное имя. Если длина не указана, используется 7. Минимальная длина - 4 штуки.

--символический
Обычно имена объектов выводятся в форме SHA-1 (с возможностью ^ префикс); это
опция позволяет выводить их в форме, максимально приближенной к исходной.

--символическое-полное-имя
Это похоже на --symbolic, но пропускает ввод, который не является ссылками (например, ветвь или
имена тегов; или более явное устранение неоднозначности в форме "головы / хозяин", если вы хотите
назовите ветку "master", когда есть тег с неудачным именем "master") и покажите
их как полные ссылки (например, "refs / Heads / master").

Опции для Объекты
--все
Показать все ссылки, найденные в refs /.

--branches [= шаблон], --tags [= шаблон], --remotes [= шаблон]
Показать все ветки, теги или ветки удаленного отслеживания, соответственно (т. Е. Найденные ссылки
в refs / Heads, refs / tags или refs / remotes соответственно).

Если указан шаблон, отображаются только ссылки, соответствующие данному глобу оболочки. Если
шаблон не содержит символа подстановки (?, * или [), он превращается в префикс
совпадение, добавив / *.

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

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

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

--disambiguate =
Показать каждый объект, имя которого начинается с данного префикса. В должен быть в
не менее 4 шестнадцатеричных цифр, чтобы не перечислять каждый объект в
репозиторий по ошибке.

Опции для Файлы
--local-env-vars
Перечислите локальные для репозитория переменные среды GIT_ * (например, GIT_DIR или
GIT_WORK_TREE, но не GIT_EDITOR). Перечислены только имена переменных, а не
их значение, даже если они установлены.

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

Если $ GIT_DIR не определен и текущий каталог не обнаружен как лежащий в Git
репозиторий или дерево работ распечатайте сообщение в stderr и выйдите с ненулевым статусом.

--git-общий-дир
Показать $ GIT_COMMON_DIR, если он определен, иначе $ GIT_DIR.

--is-внутри-git-dir
Когда текущий рабочий каталог находится ниже каталога репозитория, выведите «true»,
в противном случае «ложно».

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

--is-голый-репозиторий
Когда репозиторий пустой, выведите «true», в противном случае - «false».

--resolve-git-dir
Проверить, если это действующий репозиторий или gitfile, указывающий на действительный репозиторий,
и распечатайте расположение репозитория. Если это gitfile, то разрешенный
печатается путь к реальному хранилищу.

--git-путь
Разрешить "$ GIT_DIR /" "и принимает другие переменные перемещения пути, такие как
$ GIT_OBJECT_DIRECTORY, $ GIT_INDEX_FILE ... в аккаунт. Например, если
$ GIT_OBJECT_DIRECTORY устанавливается в / foo / bar, затем "git rev-parse --git-path objects / abc"
возвращает / foo / bar / abc.

--show-cdup
Когда команда вызывается из подкаталога, показывать путь к верхнему уровню
каталог относительно текущего каталога (обычно последовательность "../" или
пустой строки).

--show-префикс
Когда команда вызывается из подкаталога, показывать путь к текущему
каталог относительно каталога верхнего уровня.

--show-верхний уровень
Показать абсолютный путь к каталогу верхнего уровня.

--shared-индекс-путь
Показать путь к файлу общего индекса в режиме разделенного индекса или пусто, если не в
режим сплит-индекса.

Другие контрактные услуги Опции
--since = строка даты, --after = строка даты
Проанализируйте строку даты и выведите соответствующий параметр --max-age = для мерзавец
список изменений.

--until = строка даты, --before = строка даты
Проанализируйте строку даты и выведите соответствующий параметр --min-age = для мерзавец
список изменений.

...
Флаги и параметры для анализа.

УКАЗАНИЕ ПЕРЕСМОТР


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

, например dae86e1950b1277e545cee180551750029cfe735, dae86e
Полное имя объекта SHA-1 (40-байтовая шестнадцатеричная строка) или ведущая подстрока, которая
уникален в репозитории. Например, dae86e1950b1277e545cee180551750029cfe735 и
dae86e оба называют один и тот же объект фиксации, если в вашем репозитории нет другого объекта
чье имя объекта начинается с dae86e.

, например v1.7.4.2-679-g3bee7fb
Вывод из git describe; т.е. ближайший тег, за которым могут следовать тире и
количество коммитов с дефисом, g, и сокращенное имя объекта.

, например мастер, головы / мастер, ссылки / главы / мастер
Символьное имя ссылки. Например мастер обычно означает объект фиксации, на который ссылается
ссылки / главы / мастер. Если у вас есть оба головы / мастер и теги / мастер, Вы можете
прямо сказать головы / мастер чтобы сказать Git, какой из них вы имеете в виду. В случае неоднозначности
устраняется путем взятия первого совпадения по следующим правилам:

1. Если $ GIT_DIR / существует, это то, что вы имеете в виду (обычно это полезно только
для ГОЛОВА, FETCH_HEAD, ORIG_HEAD, MERGE_HEAD и ВИШНЯ, ПИК, ГОЛОВКА);

2. в противном случае ссылки / если он существует;

3. в противном случае ссылки / теги / если он существует;

4. в противном случае ссылки / главы / если он существует;

5. в противном случае ссылки / пульты / если он существует;

6. в противном случае ссылки / пульты / /ГОЛОВА если он существует.

ГОЛОВА называет коммит, на котором вы основывали изменения в рабочем дереве.
FETCH_HEAD записывает ветку, полученную вами из удаленного репозитория, с вашим
последний вызов git fetch. ORIG_HEAD создается командами, которые перемещают ваш ГОЛОВА
радикальным образом, чтобы зафиксировать положение ГОЛОВА перед их операцией, поэтому
что вы можете легко вернуть кончик ветки в состояние до запуска
их. MERGE_HEAD записывает коммит (ы), которые вы объединяете в свою ветку
когда вы запускаете git merge. ВИШНЯ, ПИК, ГОЛОВКА записывает коммит, которым вы являетесь
выбор вишни при запуске git cherry-pick.

Обратите внимание, что любой из refs / * вышеупомянутые случаи могут исходить либо от $ GIT_DIR / ссылки
каталог или из $ GIT_DIR / упакованные ссылки файл. Хотя кодировка имени ссылки
не указано, UTF-8 предпочтительнее, так как некоторая обработка вывода может принимать имена ссылок в
УТФ-8.

@
@ один - это ярлык для ГОЛОВА.

@ { }, например мастер @ {вчера}, ГОЛОВА @ {5 минут тому назад}
Ссылка, за которой следует суффикс @ с указанием даты, заключенной в пару скобок
(например {вчера}, {1 месяц 2 недель 3 дня 1 час 1 второй тому назад} or {1979-02-26
18:30:00}) указывает значение ссылки в предыдущий момент времени. Этот суффикс может
может использоваться только сразу после имени ссылки, и ссылка должна иметь существующий журнал
($ GIT_DIR / журналы /). Обратите внимание, что это проверяет состояние вашего локальным ссылка на данный
время; например, что было в вашем местном мастер филиал на прошлой неделе. Если вы хотите посмотреть на
коммиты, сделанные в определенное время, см. --поскольку и --до.

@ { }, например мастер @ {1}
Ссылка, за которой следует суффикс @ с порядковым номером, заключенным в пару скобок
(например 1 {}, 15 {}) определяет n-е предыдущее значение этой ссылки. Например мастер @ {1}
это непосредственное предшествующее значение мастер в то время как мастер @ {5} это 5-е априорное значение
мастер. Этот суффикс можно использовать только сразу после имени ссылки, и ссылка должна
иметь существующий журнал ($ GIT_DIR / журналы /).

@ { }, например @ {1}
Вы можете использовать @ построить с пустой частью ссылки, чтобы получить запись журнала ссылки
текущая ветка. Например, если вы на ветке блабла тогда @ {1} означает так же, как
blabla @ {1}.

@ {- }, например @ {- 1}
Конструкция @ {- } означает -я ветка / фиксация извлечена до текущего
вариант.

@ {восходящий поток}, например master @ {upstream}, @ {u}
Суффикс @ {восходящий поток} на название ответвления (краткая форма @ {u}) относится к
ветвь, на которой установлена ​​ветвь, указанная в параметре имя-ветки (настроено
с веткой. .remote и ветка. .merge). По умолчанию отсутствует имя ветки.
текущий.

@{толкать}, например мастер @ {push}, @{толкать}
Суффикс @{толкать} сообщает ветку, "куда мы будем нажимать", если бы git push был запущен
в то время как имя филиала было извлечено (или текущий ГОЛОВА если название филиала не указано).
Поскольку наш пункт назначения push находится в удаленном репозитории, мы, конечно, сообщаем о локальном
ветвь отслеживания, которая соответствует этой ветке (т. е. что-то в ссылки / пульты /).

Вот пример, чтобы прояснить ситуацию:

$ git config push.default текущий
$ git config Remote.pushdefault myfork
$ git checkout -b mybranch origin / master

$ git rev-parse --symbolic-full-name @ {восходящий поток}
ссылки / пульты / происхождение / мастер

$ git rev-parse --symbolic-full-name @ {push}
ссылки / пульты / myfork / mybranch

Обратите внимание на пример, что мы создали треугольный рабочий процесс, в котором мы извлекаем из одного
место и толкнуть в другое. В нетреугольном рабочем процессе @{толкать} такой же как
@ {восходящий поток}, и в этом нет необходимости.

^, например ГОЛОВА ^, Версия 1.5.1 ^ 0
Суффикс ^ к параметру ревизии означает первого родителя этого объекта фиксации. ^
означает й родитель (т.е. ^ эквивалентна ^ 1). По особому правилу
^ 0 означает сам коммит и используется, когда это имя объекта тега
объект, который ссылается на объект фиксации.

~, например мастер ~ 3
Суффикс ~ к параметру ревизии означает объект фиксации, который является th
предок поколения указанного объекта фиксации, следующий только за первыми родителями. Т.е.
~ 3 эквивалентна ^^^ что эквивалентно ^ 1 ^ 1 ^ 1. См. Ниже
иллюстрация использования этой формы.

^ { }, например v0.99.8 ^ {коммит}
Суффикс ^ за которым следует имя типа объекта, заключенное в пару скобок, означает разыменование
объект в рекурсивно, пока объект типа найден или объект
больше нельзя разыменовать (в этом случае barf). Например, если - это
совершить-иш, ^ {совершить} описывает соответствующий объект фиксации. Аналогично, если
это дерево-иш, ^ {дерево} описывает соответствующий объект дерева. ^ 0 is
сокращение для ^ {совершить}.

rev ^ {объект} можно использовать, чтобы убедиться оборот называет существующий объект без
Требующий оборот быть тегом и без разыменования оборот; потому что тег уже является
объект, его не нужно разыменовывать ни разу, чтобы добраться до объекта.

rev ^ {tag} может использоваться, чтобы гарантировать, что оборот идентифицирует существующий объект тега.

^ {}, например v0.99.8 ^ {}
Суффикс ^ за которым следует пустая пара скобок означает, что объект может быть тегом, и
рекурсивно разыменовать тег, пока не будет найден объект, не являющийся тегом.

^ {/ }, например HEAD ^ {/ fix противный ошибка}
Суффикс ^ к параметру редакции, за которым следует пара скобок, которая содержит текстовый светодиод
косой чертой, то же самое, что и :/исправить противный ошибка синтаксис ниже, за исключением того, что он возвращает
самый младший соответствующий коммит, доступный из до ^.

: /, например :/исправить противный ошибка
Двоеточие, за которым следует косая черта, за которым следует текст, обозначает фиксацию, сообщение фиксации которой
соответствует указанному регулярному выражению. Это имя возвращает самое младшее совпадение
коммит, доступный по любой ссылке. Если сообщение фиксации начинается с ! являетесь
придется повторить это; особая последовательность : /!, за которым следует что-то еще, кроме !, Является
зарезервировано на данный момент. Регулярное выражение может соответствовать любой части сообщения фиксации. К
сопоставить сообщения, начинающиеся со строки, можно использовать, например, : / ^ foo.

:, например ГОЛОВА: README, :ПРОЧТИ МЕНЯ, мастер: ./ README
Суффикс : за которым следует путь, называющий BLOB-объект или дерево по заданному пути в древовидной структуре
объект, названный частью перед двоеточием. :дорожка (с пустой частью перед
двоеточие) - это частный случай синтаксиса, описанного ниже: содержимое, записанное в индексе
по заданному пути. Путь, начинающийся с ./ or ../ относительно текущего рабочего
каталог. Данный путь будет преобразован относительно корня рабочего дерева.
каталог. Это наиболее полезно для адресации большого двоичного объекта или дерева из фиксации или дерева, которое
имеет ту же древовидную структуру, что и рабочее дерево.

: :, например : 0: README, :ПРОЧТИ МЕНЯ
Двоеточие, за которым может следовать номер этапа (от 0 до 3) и двоеточие, за которым следует
path, именует большой двоичный объект в индексе по заданному пути. Отсутствует номер этапа (и
следующее за ним двоеточие) обозначает запись этапа 0. Во время слияния этап 1 - это
общий предок, стадия 2 - это версия целевой ветви (обычно текущая
ветка), а этап 3 - это версия из объединяемой ветки.

Вот иллюстрация Джона Лелигера. Оба узла фиксации B и C являются родителями фиксации
узел A. Родительские коммиты упорядочиваются слева направо.

GHIJ
\ / \ /
DEF
\ | / \
\ | / |
\ | / |
До нашей эры
\ /
\ /
A

А = = А ^ 0
В = А ^ = А ^ 1 = А ~ 1
С = А ^ 2 = А ^ 2
D = A ^^ = A ^ 1 ^ 1 = A ~ 2
E = B ^ 2 = A ^^ 2
F = B ^ 3 = A ^^ 3
G = A ^^^ = A ^ 1 ^ 1 ^ 1 = A ~ 3
H = D ^ 2 = B ^^ 2 = A ^^^ 2 = A ~ 2 ^ 2
I = F ^ = B ^ 3 ^ = A ^^ 3 ^
J = F ^ 2 = B ^ 3 ^ 2 = A ^^ 3 ^ 2

УКАЗАНИЕ ДИАПАЗОНЫ


Команды просмотра истории, такие как git log, работают с набором коммитов, а не с одним
совершить. Для этих команд, указав одну ревизию с обозначениями, описанными в
предыдущий раздел означает набор коммитов, доступных из этого коммита, следующих за коммитом
родословная цепочка.

Чтобы исключить коммиты, достижимые из коммита, префикс ^ обозначения. Например ^ r1 r2 означает
совершает достижимый из r2 но исключите те, которые доступны из r1.

Эта операция над наборами встречается так часто, что есть сокращение для нее. Когда у вас есть два
совершает r1 и r2 (названы в соответствии с синтаксисом, описанным в УКАЗАНИИ ИЗМЕНЕНИЙ выше),
вы можете запросить коммиты, доступные из r2, за исключением тех, которые доступны из
r1 - пользователем ^ r1 r2 и это можно записать как г1..г2.

Аналогичное обозначение г1 ... г2 называется симметричной разностью r1 и r2 и определяется как
r1 r2 --нет $ (git база слияния --все r1 г2). Это набор достижимых коммитов
от любого из r1 or r2 но не от обоих.

В этих двух сокращениях вы можете опустить один конец и оставить по умолчанию HEAD. Например,
источник.. это сокращение для происхождение .. ГОЛОВА и спрашивает "Что я делал после того, как разветвился от
ветвь происхождения? " ..источник это сокращение для ГОЛОВА .. происхождение и спрашивает "Что сделал
origin делать, так как я их разветвил? "Обратите внимание, что .. означало бы ГОЛОВА ... ГОЛОВА который является пустым
диапазон, который одновременно доступен и недоступен из HEAD.

Два других сокращения для наименования набора, который формируется коммитом, и его родительский коммит
существовать. r1 ^ @ обозначение означает всех родителей r1. г1 ^! включает фиксацию r1 но исключает все
своих родителей.

Подведем итоги:


Включите коммиты, доступные из (т. Е. Предков) .

^
Исключить коммиты, доступные из (то есть предков) .

..
Включите коммиты, доступные из но исключите те, которые доступны
от . Когда либо или опущено, по умолчанию ГОЛОВА.

...
Включите коммиты, которые доступны из любого или но исключите те, которые
доступны с обоих. Когда либо или опущено, по умолчанию ГОЛОВА.

^ @, например ГОЛОВА ^ @
Суффикс ^ за которым следует знак at - это то же самое, что перечислить всех родителей
(это означает, что нужно включать все, что доступно от его родителей, но не сам коммит).

^!, например ГОЛОВА ^!
Суффикс ^ с восклицательным знаком - то же самое, что и коммит , а затем
все его родители с префиксом ^ исключить их (и их предков).

Вот несколько примеров:

DGHD
DFGHIJDF
^ GDHD
^ DBEIJFB
B..CC
B ... CGHDEBC
^ DBCEIJFBC
CIJFC
C ^ @ IJF
C ^! C
F ^! DGHDF

ПАРСЕОПТ


В режиме --parseopt, мерзавец рев-анализ помогает настраивать параметры, чтобы перенести в сценарии оболочки
те же удобства, что и у встроенных C. Он работает как нормализатор опций (например, разделяет отдельные
переключает агрегированные значения), немного похоже на Getopt(1) делает.

Он принимает на стандартный ввод спецификацию параметров для анализа и понимания,
и выводит на стандартный вывод строку, подходящую для sh(1) eval для замены
аргументы с нормализованными. В случае ошибки выводит использование стандартной ошибки.
поток и завершается с кодом 129.

Примечание. Убедитесь, что вы цитируете результат при передаче его в eval. См. Пример ниже.

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

Каждая строка параметров имеет следующий формат:

* ? SP + помощь LF


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


имеют *, =,? или !.

· Используйте =, если опция принимает аргумент.

· Использовать ? означает, что опция принимает необязательный аргумент. Вы, наверное, захотите
используйте режим --stuck-long, чтобы иметь возможность однозначно проанализировать необязательный аргумент.

· Используйте *, чтобы обозначить, что этот параметр не должен указываться в использовании, созданном для
-h аргумент. Это показано для --help-all, как описано в gitcli(7).

· Использовать ! чтобы не сделать доступным соответствующий отрицательный длинный вариант.


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

Остаток строки после удаления пробелов используется в качестве справки, связанной с
опция.

Пустые строки игнорируются, а строки, не соответствующие этой спецификации, используются как опции.
заголовки групп (начинайте строку с пробела, чтобы создать такие строки специально).

Пример
OPTS_SPEC = "\
некоторая команда [параметры] ...

some-command выполняет foo и bar!
--
ч, помогите показать помощь

foo какой-нибудь изящный параметр --foo
bar = какая-то крутая опция --bar с аргументом
baz = arg еще одна крутая опция --baz с именованным аргументом
qux? path qux может принимать аргумент пути, но имеет смысл сам по себе

Заголовок группы опций
C? вариант C с необязательным аргументом "

eval "$ (echo" $ OPTS_SPEC "| git rev-parse --parseopt -" $ @ "|| echo exit $?)"

Применение текст
Когда "$ @" в приведенном выше примере равно -h или --help, будет показан следующий текст использования:

использование: some-command [параметры] ...

some-command выполняет foo и bar!

-h, --help показать справку
--foo какой-нибудь отличный вариант --foo
--bar ... какой-то крутой вариант --bar с аргументом
--баз еще один классный вариант --baz с именованным аргументом
--qux [= ] qux может принимать аргумент пути, но имеет смысл сам по себе

Заголовок группы опций
-C [...] опция C с необязательным аргументом

SQ-ЦИТАТА


В режиме --sq-quote мерзавец рев-анализ отображает на стандартном выходе одну строку, подходящую для
sh(1) eval. Эта строка создается путем нормализации аргументов, следующих за --sq-quote. Ничего такого
кроме цитирования аргументов делается.

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

Пример
$ cat> ваш-git-script.sh << \ EOF
#!/ Бен / ш
args = $ (git rev-parse --sq-quote "$ @") # цитировать аргументы, предоставленные пользователем
command = "git frotz -n24 $ args" # и используйте его в созданном вручную
# командная строка
eval "$ command"
EOF

$ sh your-git-script.sh "a b'c"

ПРИМЕРЫ


· Вывести имя объекта текущего коммита:

$ git rev-parse --verify HEAD

· Распечатайте имя объекта фиксации из ревизии в переменной оболочки $ REV:

$ git rev-parse - проверить $ REV ^ {совершить}

Это приведет к ошибке, если $ REV пуста или недействительная ревизия.

· Аналогично приведенному выше:

$ git rev-parse --default master --verify $ REV

но если $ REV пусто, будет напечатано имя объекта фиксации от мастера.

GIT


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

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


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

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

  • 1
    Alt-F
    Alt-F
    Alt-F предоставляет бесплатный и открытый исходный код
    альтернативная прошивка для DLINK
    DNS-320/320L/321/323/325/327L and
    ДНР-322Л. Alt-F имеет Samba и NFS;
    поддерживает ext2 / 3/4 ...
    Скачать Alt-F
  • 2
    USM
    USM
    Usm — это унифицированный пакет slackware.
    менеджер, который занимается автоматическим
    разрешение зависимости. Он объединяет
    различные репозитории пакетов, включая
    slackware, slacky, р...
    Скачать УСМ
  • 3
    Chart.js
    Chart.js
    Chart.js — это библиотека Javascript, которая
    позволяет дизайнерам и разработчикам рисовать
    все виды диаграмм с использованием HTML5
    элемент полотна. Chart js предлагает отличный
    множество ...
    Скачать Chart.js
  • 4
    iReport-Designer для JasperReports
    iReport-Designer для JasperReports
    ПРИМЕЧАНИЕ. Поддержка iReport/Jaspersoft Studio.
    Объявление: Начиная с версии 5.5.0,
    Jaspersoft Studio станет официальным
    дизайнерский клиент для JasperReports. я докладываю
    воля...
    Скачать iReport-Designer для JasperReports
  • 5
    ПостустановщикF
    ПостустановщикF
    PostInstallerF установит все
    программное обеспечение, которое Fedora Linux и другие
    не включает по умолчанию, после
    запуск Fedora в первый раз. Его
    легко для ...
    Скачать PostInstallerF
  • 6
    Трассирование
    Трассирование
    Проект strace перенесен в
    https://strace.io. strace is a
    диагностика, отладка и обучение
    трассировщик пользовательского пространства для Linux. Это используется
    следить за...
    Скачать стрейс
  • Больше »

Команды Linux

Ad