Git commit части файла

Работая над большим классом-обёрткой, я внёс большое количество изменений, а потом срочно потребовалось закоммитить и влить hotfix одного метода.
Остальные правки были сырыми, и заливать их было рискованно. Чтобы не переключаться на другую ветку и потом сливать изменения обратно,
можно закоммитить только часть файла.

Об этом и будет эта заметка.

  1. git add -p <filename> - добавление файла частями (каждая часть называется hunk)
  2. Git будет по очереди показывать hunk, и предлагать варианты что делать с конкретным hunk:
    • y добавить hunk целиком
    • n пропустить
    • s разделить hunk на меньшие части
    • e редактировать hunk (откроет редактор)
    • q выйти без добавления текущего и оставшихся hunk
  3. git commit -m "<message>" - закомитить изменения

Между шагами 2 и 3 можно проверить какие изменения будут применены с помощью
комманды git diff --cached.