git config rebase.abbreviateCommands

Я хочу включить rebase.abbreviateCommands. Я добавил следующие строки в свой файл git (~ / .gitconfig), сохранил, открыл новый терминал, перешел в репозиторий git, затем попытался выполнить git rebase -i HEAD~, и я все еще «выбираю» вместо «p». Я подтвердил, что git использует этот файл, удаляя конфигурации и наблюдая изменения, а также запустив git config -l.

[rebase]
        abbreviateCommands = true

Документ: https://git-scm.com/docs/git-config ( ищите abbreviateCommands)


person Agrim Pathak    schedule 16.08.2018    source источник
comment
Не имеет прямого отношения к ответу (который почти наверняка ваш Git старше), но: почему вас волнует, какой длины слово в сгенерированном файле? Мне любопытно, так как я не совсем понимаю, почему они вообще добавили эту функцию abbreviateCommands. Возможно потому, что я использую vi / vim и просто набираю cw, чтобы изменить любую заданную команду, поэтому cwe<ESC> больше не работает, независимо от того, говорит ли он pick или _4 _...   -  person torek    schedule 16.08.2018
comment
@torek Это работает. Я использую vim, но я сопоставил c с чем-то еще (время отменить это). Я набирал dwie<SPACE><ESC>, когда почувствовал, что re будет намного удобнее.   -  person Agrim Pathak    schedule 16.08.2018
comment
У vim последовательность search-for-unused-command-sequence превосходит все пустые места, по сравнению с оригинальным vi :-) (Я начал использовать :map <Leader> некоторое время назад. См. stackoverflow.com/q/1764263/1256452.)   -  person torek    schedule 16.08.2018
comment
@torek Пока не получу 2.16, я буду использовать это: map <LEADER>e :s/pick/e <CR>   -  person Agrim Pathak    schedule 16.08.2018


Ответы (2)


rebase.abbreviateCommands был новым в Git версии 2.16.0. Какая у вас версия Git?

person torek    schedule 16.08.2018
comment
2.11.0. Я использую Debian: \ - person Agrim Pathak; 16.08.2018

Если вы действительно используете rebase.abbreviateCommands, рассмотрите последнюю версию Git 2.27 (второй квартал 2020 г.):
«git rebase» с бэкэндом слияния не работал должным образом, когда конфигурация rebase.abbreviateCommands была установлена ​​до 2.27.

См. фиксацию de9f1d3, commit 68e7090 (30 марта 2020 г.) от Альбана Грюферера (agrn).
(Объединено Junio ​​C Hamano - gitster - в commit f72e067, 22 апреля 2020 г.)

sequencer: не сокращайте команду, если она не имеет краткой формы

Подписано: Альбан Груин

Когда секвенсору предлагается сократить команды, он заменит те, которые не имеют краткой формы (например, noop), отметкой комментария.
noop не служит никакой цели, кроме случаев быстрой перемотки вперед (например, путем запуска git rebase) .

Его удаление приведет к нарушению этой команды, если для rebase.abbreviateCommands установлено значение true.

Научите todo_list_to_strbuf() проверять, действительно ли команда имеет краткую форму, и игнорировать ее, если нет.

person VonC    schedule 26.04.2020