С Git 2.13 (Q2 2017) вы можете отключить (частично) завершение ветвления.
git checkout --no-guess ...
# or:
export GIT_COMPLETION_CHECKOUT_NO_GUESS=1
См. коммит 60e71bb (21 апреля 2017) от Джефф Кинг (peff
) .
(Объединено Junio C Hamano - gitster
- в коммит b439747 , 01 мая 2017 г.)
Как указано в contrib/completion/git-completion.bash
сейчас:
Вы можете установить следующие переменные среды, чтобы влиять на поведение подпрограмм завершения:
GIT_COMPLETION_CHECKOUT_NO_GUESS
Если установлено значение "1", не включать предложения "DWIM" в git-checkout
завершение (например, завершение «foo», когда существует «origin / foo»).
Примечание: DWIM - это сокращение от D o W hat I M ean , где система пытается предугадать, что пользователи намерены делать, исправляя тривиальные ошибки автоматически, а не слепо выполняя явные, но потенциально неверные вводы пользователей.
completion
: опционально отключить оформление заказа DWIM
Когда мы заполняем имена веток для "git checkout
", мы также заполняем имена удаленных ветвей, которые могут вызвать поведение DWIM. В зависимости от вашего рабочего процесса и проекта это может быть удобным или раздражающим.
Например, мой клон gitster.git
содержит 74 локальных "jk/*
" ветви, но origin содержит еще 147.
Когда я хочу оформить заказ в местном отделении, но не могу вспомнить название, на вкладке отображается 251 запись. И что еще хуже, для темы, которая была выбрана для pu, название ветки вверх по течению, вероятно, будет похоже на мое, что приведет к высокой вероятности, что я выберу неправильную и случайно создаю новую ветку.
Примечание: "Подобрано за пу": см. Что готовится в git.git
: начинается с:
Коммиты с префиксом '-
' находятся только в 'pu
' (предлагаемые обновления) , а коммиты с префиксом '+
' находятся в 'next
'.
Это часть процесса окончания рабочего процесса Git .
pu
(предлагаемые обновления) - это ветка интеграции для вещей, которые еще не готовы для включения
Этот патч добавляет пользователю способ сообщить о завершении
код, не включающий предложения DWIM для оформления заказа.
Это уже можно сделать, набрав:
git checkout --no-guess jk/<TAB>
но это довольно громоздко.
Недостатком, конечно, является то, что вы больше не получаете поддержку завершения, когда вы do хотите вызвать поведение DWIM.
Но, в зависимости от вашего рабочего процесса, это не может быть большой потерей (например, в git.git я с большей вероятностью захочу отключиться, поэтому я все равно наберу "git checkout origin/jk/<TAB>
").