Если вы хотите убедиться, что каждый коммит будет собирать и проходить ваш набор тестов (1), то максимально игнорируйте индекс.
Когда вы используете индекс (нетривиальным способом, когда вы проверяете некоторые изменения, но не другие) вы проверяете состояние кода, который вы, вероятно, не создали или не выполняете набор тестов на .
Конечно, для некоторых вещей (например, изменение какой-либо документации) это, вероятно, не имеет значения, и использование индекса совершенно безопасно. Но хорошо избавиться от привычки делать это подверженным ошибкам способом и привыкнуть делать это правильно:
- Используйте
git stash
, чтобы спрятать все, что вы не хотите зафиксировать.
- Постройте то, что осталось.
- Запустите набор тестов на том, что осталось.
- Зафиксировать (все) то, что осталось.
- Распакуйте остальные изменения, при необходимости повторите.
(1): Не все заботятся о том, чтобы каждый коммит был работоспособным состоянием кода.
Некоторые люди делают, потому что это означает, что любая версия, которую кто-то проверяет, по крайней мере будет собираться и запускаться. Это важно для проектов с открытым исходным кодом (где кто-то может клонировать ваш проект в любое время) и помогает разделить пополам, чтобы найти, где была введена ошибка (вам не нужно тратить время, пропуская нерабочий, неудачный тестовый случай состояния).
Если вам не важно, чтобы каждый коммит был целым, рабочим состоянием кода, то это не имеет значения.