Использование IntelliJ для изменения сообщения git commit


Ответы:


86

Вид => Окна инструментов => Контроль версий. ( Windows (Alt + 9) / OS X (Cmd + 9) )

IntelliJ 2017.1 и выше => Перейти в журнал и щелкнуть правой кнопкой мыши + изменить текст или нажать F2.

IntelliJ переименовать фиксацию

Пока вы находитесь в той же ветке (ваша извлеченная ветка такая же)


4
Кажется, это единственный способ (кроме, возможно, командной строки) отредактировать комментарии (без внесения изменений для принудительной фиксации) с помощью WebStorm 2017.3. Это окно управления версиями появляется при нажатии Alt + 9 или View-> Tool Windows-> Version Control.
— CODE-REaD

3
В Idea 2017.3 описанная команда называется «Переименовать ...» вместо «Переименовать» (как показано на скриншоте :-)). F2 тоже работает.
— Volker Seibt

1
Кто-нибудь знает, почему «Изменить сообщение фиксации ...» выделено серым цветом в моем IntelliJ (2019.3.1)?
— Cold_Class

@Cold_Class Это было ваше сообщение о фиксации? У меня есть один серый цвет, который является слиянием. Вроде Merge branch 'develop' of REPO_URL into BRANCH_NAMEэто ты имеешь в виду?
— Стефан Рейн,

@StefanRein - У меня сегодня была эта проблема, и я понял, что был в режиме выбора вишни - это должно быть прервано
— Lost Crotchet

72

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

Однако поддержка ограничена:

  • вы не можете видеть детали исправляемого коммита,
  • если у вас нет незафиксированных изменений (например, вы просто хотите изменить сообщение предыдущей фиксации, не добавляя в нее дополнительных изменений), вы не сможете вызвать «Фиксацию».

12
Обычное решение второй проблемы - это добавление в файл
— неважных

Служба поддержки JetBrains направила меня на запросы улучшения IDEA-81428 и IDEA-57979 . Этот вопрос и ответ также применимы к PyCharm.
— Уил Кули

10
Этот ответ больше не соответствует действительности с 2017 г. 2. Теперь вы можете сделать это легко: Version Controlпанель> Logвкладка> выберите последнюю фиксацию> нажмите F2. jetbrains.com/idea/whatsnew/#v2017-2-version-control
— DLight

39

Наконец нашел способ обойти это .. Эта проблема беспокоила меня в течение нескольких дней.

  1. Перейдите на вкладку Контроль версий - Журнал
  2. Выберите версию под вашими изменениями. Щелкните правой кнопкой мыши и скажите «сбросить текущую ветку сюда».
  3. Выберите «Мягкий» и нажмите «Сброс», это очень важно, вам нужно нажимать только «Мягкий», чтобы ваши изменения не были потеряны.
  4. Проверьте контроль версий, локальные изменения, ваши изменения будут доступны в том же списке изменений
  5. Щелкните правой кнопкой мыши список изменений и выберите фиксацию.
  6. Он покажет вам ваше предыдущее сообщение о фиксации, теперь вы можете изменить комментарии и сказать совершить и нажать

    Note: This solution uses android studio as intellij platform. 
    

1
Для меня в IntelliJ 17.3 я могу использовать пункт меню «Переформулировать ... (F2)» в разделе «Контроль версий: журнал», чтобы просто напрямую редактировать сообщение фиксации.
— Claes Mogren

28

Вы также можете перейти в папку git с помощью терминала и оболочки, например powershell, cmd или bash (в зависимости от вашей системы), а затем ввести:

git commit --amend -m "your new commit message"

3
А поскольку IntelliJ предоставляет интегрированный терминал, вам даже не нужно выходить из IDE. Это, наверное, самый быстрый способ.
— walen

14

Сообщения о фиксации можно редактировать во время перебазирования. Вызовите Rebaseкоманду из VCSменю, подтвердите настройки ветви, затем нажмите кнопку Rebase. Вам будет представлен список ваших непринятых коммитов. Выберите rewordдействие в раскрывающемся списке слева от сообщения, которое хотите отредактировать.

Подробную информацию о других действиях по перемещению см. В документации по git в истории перезаписи .


2
Это один из лучших вариантов. Если вы уже отправили свои изменения в источник, IDE предупредит вас. Это хорошо, как если бы кто-то уже вытащил коммит, который вы нажали, изменение фиксации, даже если просто изменение сообщения фиксации, будет означать, что всем, кто вытащил предыдущий коммит, также необходимо будет выполнить перебазирование. Это вообще «плохо».
— Крис Когдон,

3

На вкладке Log выберите фиксацию и нажмите F2 (Reword). Это оно.


2

Честно говоря, самый быстрый способ сделать это - через командную строку. Я знаю, что OP спрашивал об этом через IntelliJ (как я нашел этот вопрос, я пытался сделать это в PHPStorm), но серьезно, это намного проще через командную строку.

Когда в правильной папке в вашем терминале / командной строке введите

git commit --amend

Затем вам будет показано последнее сообщение фиксации, просто отредактируйте текст и сохраните файл, работа сделана!

Если вы хотите сменить редактор (по умолчанию vi), используйте эту команду, заменив «vim» на выбранный вами редактор.

git config --global core.editor "vim"

т.е. пользователи Windows могут захотеть ...

git config --global core.editor "notepad"

Источник: https://help.github.com/articles/changing-a-commit-message/


1
Ваш ответ слишком похож на другие и предлагает еще менее удобный метод. git commit --amend -m my_new_messageиспользуется для изменения сообщения фиксации прямо из командной строки.
— Christopher J.

Я думаю, что это хорошо. Мы можем изменить сообщение на основе ложного сообщения. И редактор "VI" тоже хорош.
— Лео Ли

@ChristopherJ. - извините, я не увидел вашего ответа, когда разместил это. Я оставлю его здесь, так как у меня есть дополнение для изменения редактора, если вам не нравится значение по умолчанию.
— Стив Чайлдс,

2

В случае 2018.3 и то же самое с 2017.1

Alt + 9(окно контроля версий)

И щелкните правой кнопкой мыши -> в контекстном меню выберите «Переформулировать ... F2»

ИЛИ

ярлык F2Вы можете редактировать сообщение.


1

В JetBrains Go to View -> Version Control-> Это откроет вкладку журнала управления версиями в нижней части экрана, Go to Logи вы увидите фиксацию, которую вы сделали последней. Щелкните правой кнопкой мыши по ней и выберитеundo commit

Бинго! Вы отменили все свои фиксации, и сообщение стерто. Вы также можете выбрать мягкий сброс, если вы хотите изменить только сообщение фиксации.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.