Исключить строку внутри hunk в git commit

Есть ли способ в IntelliJ исключить определенные строки внутри фрагмента кода из git commit?

Скажем, например, у меня есть следующее изменение:

введите описание изображения здесь

Я хочу исключить из последней строки ( ADMIN_API_URL ).

Я знаю, что могу делать частичные коммиты, щелкнув этот маленький флажок рядом с строкой номер 49 ( как описано здесь ), но это приведет к удалению всего ханка. Я просто хочу удалить определенные строки. Если нет прямого способа сделать это, есть ли способ разбить кусок на несколько кусков? Тогда я смогу сделать то, что хочу.

Я могу сделать это в Sourcetree, щелкнув правой кнопкой мыши на некоторых строках и выбрав «Stage Selected Lines». Просто хочу знать, как это сделать в IntelliJ, и было бы хорошо знать, как это сделать, используя команды git.

Всего 2 ответа


Вы можете получить то, что хотите, если вы используете командную строку git add -p с помощью команды git add -p : отредактируйте ханк, набрав «e», когда вам будет предложено:

 $ git add -p Stage this hunk [y,n,q,a,d,/,e,?]? e 

Откроется текстовый редактор по умолчанию, замените строку +ADMIN_API_URL на + (удалите текст ADMIN_API_URL ).

Сохраните и выйдите из редактора, и все готово .

Вы можете выполнить

  • git diff --staged чтобы увидеть, что ваша следующая фиксация не будет содержать последнюю строку,
  • и git diff чтобы увидеть, что последняя строка все еще существует в вашей рабочей копии.

было бы хорошо знать, как это сделать, используя команды git.

Когда вы делаете git add -p , у вас есть возможность редактировать ханк: вы можете удалить последнюю строку.

Я не думаю, что InelliJ, применяя патч , предложит аналогичный вариант. См. Вопрос IDEA-63201 .


Есть идеи?

10000