В мире Unix CLI существует шаблон, в котором часто используемые параметры обозначаются однобуквенным сокращением, и их обычно можно комбинировать вместе или складывать . Очень распространенный пример этого можно найти с помощью команды rm
, которая может рекурсивно удалять каталоги. Эти три команды эквивалентны:
rm --recursive --force .
rm -r -f .
rm -rf .
Git имеет много подкоманд, каждая из которых имеет множество параметров. Я привык к Git, позволяя складывать его сокращенные варианты для простоты использования, как и многие другие хорошо написанные инструменты CLI. Например:
git commit -am 'Create new commit message'
Я обнаружил, что git stash
- по крайней мере одно исключение, где сокращения для полезных опций --keep-index
и --include-untracked
не могут складываться в -ku
:
git stash -k -u # This works
git stash -ku # This doesn't
Есть ли особая c причина для этого, кроме того, что это не было реализовано? Существуют ли другие примеры, когда Git параметры не могут быть объединены, и есть ли в этих примерах конкретные c причины?