Как зафиксировать частичный файл (hunks) на git в pycharm

Я большой пользователь Eclipse PyDev + EGit и хочу переключиться на PyCharm. В Eclipse я могу добавить только определенные hunks/lines файла в индекс git, так же как использовать git add -p из терминала. Я нахожу это через GUI, чтобы быть быстрее, и я искал такую ​​же функциональность в PyCharm. Он существует? Благодаря

Ответ 1

В настоящее время это не поддерживается. Следуйте за этим билетом за подробностями (комментарий/часы, которые будут уведомлены, когда они будут реализованы).

http://youtrack.jetbrains.com/issue/IDEA-63201

Ответ 2

PyCharm управляет этим с помощью списков изменений. Вот пример.

  • Мы создаем новый список изменений из существующего (тот, который мы уже создали, или список изменений по умолчанию).
  • Мы делаем пару изменений и нажимаем VCSCommit Changes
  • На приведенной ниже диаграмме в {1} вы можете увидеть, что в списке изменений указано значение Default, а в {2} вы можете увидеть фактическое изменение. Щелкните правой кнопкой мыши на {2} и выберите изменение.

enter image description here

Теперь, скажем, мы хотим совершить только это изменение. Мы можем сделать это, добавив его в новый список изменений, нажав {3}, и это появится:

enter image description here

Поскольку у нас нет нового, просто создайте новый список изменений, используя диалоговое окно. А затем измените текущий выбранный список изменений на New Changelist:

enter image description here

Обратите внимание, что есть только один файл с одним изменением, так же как наш список изменений. Как насчет того, что мы добавили несколько вещей из списка изменений Default в новый:

enter image description here

Теперь вернитесь назад к New Changelist:

enter image description here

Теперь, когда мы закончили наши выборочные изменения, нажмите Commit. После этого мы можем нажать:

enter image description here

Я нажал на битбакет, так что посмотрим на изменения:

enter image description here

Как вы можете видеть, добавлен только материал в New Changelist.

Ответ 3

Это поздний комментарий, но может быть полезным для некоторых.

  • PyCharm имеет этот issue open. Эта проблема и ее дубликаты были открыты с по крайней мере в 2012 году. Не задерживайте дыхание.

  • Внесение изменений в файл по файлу тривиально, просто щелкнув по ним.

  • В OS/X используйте инструмент GitHub Desktop для тех случаев, когда требуется мелкое зерно. Для этого он имеет правильный интерфейс "щелчок и перетаскивание блоков строки".