Как отредактировать сообщение коммита в PyCharm?

В git есть команда git commit --amend для редактирования вашего последнего сообщения коммита. Я искал этот тип функциональности в pycharm и не могу найти его. Я гуглил и ничего не нашел. Существует ли это в pycharm?


person Ryan Currah    schedule 28.07.2014    source источник
comment
jetbrains.com/pycharm/webhelp/ -- поиск слова "изменить" на этой странице.   -  person LazyOne    schedule 30.07.2014
comment
Похоже, что если вы также не фиксируете новые файлы, вы не можете изменить последнее сообщение коммита? По крайней мере, для меня он неактивен, даже если установлен флажок «Изменить фиксацию».   -  person Liam    schedule 06.04.2015


Ответы (7)


У меня была точно такая же проблема, и я подумал, что должен уточнить и собрать все вышеупомянутые знания, которые сработали для меня, в одном месте:

В системе контроля версий выберите «Зафиксировать изменения», затем отметьте Изменить фиксацию», выберите новое изменение, которое нужно зафиксировать, и добавьте новое сообщение о фиксации (чтобы заменить сообщение предыдущей фиксации). Наконец, выберите «Зафиксировать».

После комментария LazyOne на https://www.jetbrains.com/help/pycharm/2016.1/commit-changes-dialog.html?origin=old_help#d774054e346 объясняет, как работает опция Изменить фиксацию". Кроме того, как было ясно отмечено Лиамом Джонсом , вы должны не только отметить параметр Изменить фиксацию", но и выбрать фиксацию нового изменения (достаточно любого небольшого изменения), чтобы кнопка Подтвердить внизу становятся доступными.

Когда вы выполните описанные выше шаги, эта новая фиксация вместе с изменениями предыдущей фиксации будут объединены с использованием последнего сообщения фиксации; другими словами, таким образом вы заменяете сообщение коммита вашего последнего коммита.

Конечно, вариант git commit --amend (как описано здесь https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things), возможно, является другим (более чистым) способом для тех, кто может работать вне IDE.

person Yannis    schedule 01.04.2016

Вместо того, чтобы использовать VCS «Commit Changes...» и вносить поправки, я счел более интуитивно понятным показать журнал Git и из контекстного меню предыдущей фиксации выполнить «Reset Current Branch to Here». Во всплывающем окне выберите «Мягкий» сброс, который не изменяет файлы и выполняет поэтапные изменения для фиксации.

Это больше похоже на то, как должна работать отмена, возвращающая проект в то состояние, в котором он был до того, как я по ошибке выдал фиксацию с неправильным сообщением.

person Dave    schedule 13.06.2016
comment
Это сработало и для меня. Я думаю, что этот ответ должен быть первым. - person Dan Lupascu; 03.11.2018

Диалоговое окно фиксации PyCharm содержит изменить commit, который позволяет вам вносить дополнительные изменения в предыдущую фиксацию и редактировать сообщение фиксации, пока вы это делаете.

Однако я не думаю, что есть способ отредактировать предыдущее сообщение фиксации без внесения дополнительных изменений в файл, потому что PyCharm не позволит вам зафиксировать, если не выбрано никаких изменений файла.

На данный момент я просто спускаюсь в консоль и выполняю git commit --amend.

person Daniel Fortunov    schedule 01.04.2016

Вы также можете использовать rebase из pycharm в интерактивном режиме и применить «reword» к коммиту, в котором вы хотите отредактировать сообщение.

person okrutny    schedule 07.08.2016
comment
Бонус к этому ответу: перебазирование также работает, если вы хотите перефразировать более раннюю фиксацию. - person Lia Fiona; 12.12.2019

Нет необходимости возвращаться. Вы можете просто щелкнуть коммит, который хотите отредактировать, а затем нажать Shift+F6. Окно редактирования появится для вас.

person CherryCha    schedule 12.10.2018

Если вы не отправили фиксацию, вы можете довольно легко перефразировать сообщение фиксации. Перейдите на вкладку «Контроль версий» (Alt-9 Win/Linux, Cmd-9 macOS) и щелкните вкладку «Журнал» в ее окне.

Вы увидите список коммитов. В этом случае вам нужен первый. Либо щелкните его правой кнопкой мыши и выберите Reword, либо выберите его (возможно, он уже выбран) и нажмите F2, чтобы открыть окно редактирования. Отредактируйте сообщение о коммите, затем нажмите «ОК».

person user342766    schedule 28.08.2019

Параметр «Изменить фиксацию» не отображается для меня. Вместо этого, поскольку мы все равно используем Pycharm, я просто открываю вкладку терминала в Pycharm и просто запускаю команду, которую вы уже упомянули в своем вопросе: D

person Sam Thomas    schedule 03.06.2017