2016-10-04 6 views
0

Я знаю, как добавить несколько строк уже в сообщении git commit.Как вы отмените добавление строки в Git Commit Message?

Я использую:

git commit -m " 
>Text here... 
>[Accidental Enter Key] 

Однако, что если я по ошибке нажал на кнопку Enter, и я хочу, чтобы вернуться к предыдущей строке? Есть ли такой способ?

+0

С чем вы редактируете сообщение? –

+0

@AdamSchiavone Я использую Git Bash. – Fritz

+0

Лично, когда это случается со мной, я просто иду с ним, а затем делаю 'git commit -amend', чтобы исправить сообщение. – Mchl

ответ

3

редактирования GNU Readline является дурацким в разы. В ситуации, когда вы случайно попали Введите в середине строки с кавычками в Bash, просто нажмите Ctrl-C. Часть командной строки до последнего Ввод сохраняется в истории. Вы просто теряете самую последнюю строку: все, что вы ввели с последнего Введите. После этого Ctrl-C вы можете вызвать строку и отредактировать ее. На этот раз вы можете переместить курсор обратно по кавычки: вы можете переместить ненужные многострочные части, чтобы объединить их в одну строку.

$ echo "abc 
> oops hit Enter, didn't mean to 
> oops, I did it again!^C 

Теперь стрелка вверх:

$ echo "abc 
oops hit Enter, didn't mean to_ <- cursor is here (lost the last line) 
^ 
`- no > characters here now, and you can move the cursor left 
    to just before the "oops" and hit backspace to merge it with 
    the "abc. 

Это не понятно, почему Readline настолько противоречивы таким образом: почему есть > режим для продолжения линии, но затем нормальное редактирование, когда вы помните, что ; возможно, есть способ отладить эту недружественную глупость >. Я думаю, что он существует для новичков: подсказка > - это громкий и понятный сигнал, указывающий «эй, у тебя несбалансированная цитата или что-то еще, и поэтому я предлагаю вам больше ввода». Тем не менее, это не повод не позволять пользователю, по крайней мере, отставать от >.

В любом случае, в этой ситуации вы всегда можете просто выполнить коммите с непреднамеренным сообщением, а затем сразу же сделать

$ git commit --amend -m "corect message" # oops 
$ git commit --amend -m "correc message" # darn 
$ git commit --amend -m "correct message!" 

И наконец, получить клавиатуру, которая не имеет крошечную клавишу возврата и огромный ключ Enter под ним! Эти идиотские клавиатуры - основная причина, по которой вы случайно нажмете Enter: именно тогда, когда вы хотите отступить, чтобы исправить что-то неправильное. Представьте, если бы педали газа были рядом с тормозом!

+1

Я попробовал свое первое предложение с помощью Ctrl + C, но он отменяет все это в Git Bash. Но спасибо! Думаю, мне просто нужно быть осторожным. Человек, мне жаль, что есть более простой способ вернуться к предыдущей строке. Во всяком случае, я очень ценю ваш ответ и предложения. Привет, Каз! – Fritz

0

Просто используйте

git commit 

И это откроет текстовый редактор (обычно ВИМ) для вашего сообщения фиксации.

Reference

+0

Отметьте ваше предложение, сэр! Я думаю, что нет никакого конкретного способа добиться того, что я хочу, что уже является родным в Git Bash. – Fritz

 Смежные вопросы

  • Нет связанных вопросов^_^