Как получить доступ к переключателям команд в Magit

17

Большинство magitкоманд вызываются одной клавишей, которая вызывает меню подкоманд и переключателей. Например, Pпоказывает Pи tкак подкоманды, -fи -uкак «переключатели».

Нажатие букв для подкоманд вызывает их, но как вызвать переключатели? У меня есть хранилище с двумя пультами, и я хотел перенести на другой пульт. В -uпереключатель выглядит как только вещь, но если я печатаю P -u, то -uстановится красным, но Magit не запрос на пульте дистанционного управления.

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

Может кто-нибудь объяснить, как эти переключатели используются в целом. Я не просто обеспокоен этим конкретным переключателем, но и возможностями в целом.

ddoherty
источник
4
Чтобы нажать на удаленный, добавьте префиксный аргумент перед нажатием P P.
Ту До
Хотя нажатие ?клавиши изнутри Magit полезно для отображения меню, некоторые клавиши все еще не отображаются. Например, попробуйте l hдля reflog. Итак, я согласен с вами, что более обширное меню / помощь по-прежнему нуждаются.
докторская степень

Ответы:

13

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

В вашем случае -uпросто не тот переключатель, который вам нужен. От man git-push:

-u, --set-upstream

Для каждой ветки, которая обновлена ​​или успешно отправлена, добавьте ссылку вверх по течению (отслеживание), используемую без аргументов git-pull(1) и другими командами. Для получения дополнительной информации см. branch.<name>.merge В git-config(1).

Поэтому, когда вы нажимаете с -uвключенным переключателем, вы увидите что-то вроде этого в *magit-process*буфере:

0 git --no-pager -c core.preloadindex=true push -v origin foo:refs/heads/foo -u

Подталкивать к https://example.com/project.git

Подсчет объектов: 15, сделано. [...].

Ветвь foo настроена для отслеживания удаленной ветки foo от источника. [...]

Это говорит о том, что Magit действительно обдумал -uпереход.


Как указывает @TuDo, чтобы Magit попросил вас нажать на пульт, вам нужно нажать C-u P P.


Переключатели и Арги

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

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

itsjeyd
источник