Почему мы помещаем -
перед некоторыми переключателями в git и --
перед другими? Есть ли какое-либо эмпирическое правило, которое поможет вам вспомнить, какой из них использовать?поместить - и - - перед переключением в командах git
ответ
В довольно последовательной утилите, подобной Git, правило состоит в том, что однобуквенные переключатели: -
и более длинные переключатели (актуальные слова) начинаются с --
.
Как правило, Git использует типичные флаги стиля Linux. Это один штрих для флагов с одним символом, например -s
или -u
, и два тире для флагов с несколькими символами, например --soft
или --hard
.
Это на самом деле общая функция Unix-подобной системы, которая стала распространенной с приложениями GNU: опции одиночной тире - это «короткие» варианты, а опции с двойной тире - «длинные». Короткие варианты обычно можно комбинировать, например, git checkout -qf
означает то же, что и git checkout -q -f
. См., Например, Using getopts in bash shell script to get long and short command line options. Различные языки имеют библиотечные процедуры для синтаксического анализа коротких и/или длинных опций (например, C имеет getopt()
и часто вариант с номером getopt_long()
; Python's argparse
module имеет прямую поддержку как для коротких, так и для длинных опций).
Таким образом, однобуквенные флаги опций имеют одну тире, а более длинные, похожие по имени опции имеют два.
Хотя это не то, о чем вы просили, другая общепринятая практика заключается в том, что сама по себе (без последующей длинной опции) обрабатывается --
как конец опций. Это позволяет вам указывать файлы с именем -file
без использования типичного альтернативного обходного пути ./-file
. Git принимает и расширяет эту идею немного: --
отделяет такие вещи, как имена ветвей от таких вещей, как имена файлов. Если вам посчастливилось иметь файл с именем master
в филиале также под названием master
, вы можете сделать:
git checkout master
назвать отрасли, а также:
git checkout -- master
назвать файл. (Это очень полезно при написании сценариев оболочки или git-псевдонимов, где вы не хотите, чтобы аргумент имени файла был случайно выбран как имя ветви.)
- 1. Запрос пользователя перед переключением прокси
- 2. Использование источника в командах Git
- 3. Где Git находит «.git» в этих командах?
- 4. Div исчезает перед переключением() называется
- 5. Состояние git путается переключением ветвей в скрипте
- 6. В чем разница между «origin» и «remote» в командах git?
- 7. Где поместить репозиторий Git
- 8. Загрузка изображения перед переключением фона div в jquery
- 9. В Java, как вы захватываете событие перед переключением нового JTab?
- 10. Поместить постоянный текст перед EditText и TextView
- 11. Можете ли вы установить порядок отображения файлов в командах «git»?
- 12. Есть ли способ сократить имена ветвей в командах git?
- 13. Обертка git в других командах с помощью функции bash
- 14. git - где я должен поместить папку .git?
- 15. Контроллер панели вкладок: выполнение кода перед переключением вида
- 16. Скрытое Div занимает место перед переключением Javascript с другим
- 17. Выполнение стиля кодирования и предупреждение и отсутствие ворсинок в командах в Android Studio или git/github
- 18. поймать мое сообщение перед нажатием в Git
- 19. Как использовать создать Jquery Подтвердите диалог перед переключением вкладок
- 20. Разница между переключением и триггером в Qt?
- 21. Разница между отключением и переключением в Jmeter
- 22. PowerShell в командах C#
- 23. Синтаксическая ошибка в командах
- 24. Установите Git перед Boxen, или Boxen перед Git?
- 25. Кодирование кода CQRS в командах
- 26. сомнение в командах cygwin
- 27. 'r' в командах Python
- 28. BOM-символы в vi и более командах
- 29. Управление событиями в командах и RX
- 30. Telnet в командах хоста и выполнения
См. [Одиночные тире '-' для односимвольных опций , но двойные черточки '--' для слов?] (http://unix.stackexchange.com/questions/21852/single-dashes-for-single-character-options-but-double-dashes-forlwords). –