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

105

Можно ли изменить сообщение git commit с помощью IntelliJили нужно прибегнуть к командной строке?

Как это можно сделать?

Джеймс Райцев
источник

Ответы:

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

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

Эмджей
источник