#git
Перед тем как закоммитить изменение, мы должны проиндексировать измененные файлы. Почему индексирование вынесено в отдельную функцию? Почему бы просто нельзя было осуществить индексирование непосредственно при самом коммите?
Ответы
Ответ 1
Это сделано для того, что бы иметь возможность управлять содержимым коммита. Не всегда требуется фиксировать все изменения сразу, т.к. они могут быть логически слабо связаны, содержать решение более одной проблемы.Ответ 2
Вы не должны. Но очевидно, что так делается для удобства. Можете делать git commit -a В индекс автоматически добавятся все изменения. Или git commit --interactive Или git commit --patch Тогда сможете выбирать нужные файлы по-одному, как вам и хочется. Всё это написано в документации.Ответ 3
Сдается мне, что сделано это было для того, чтобы не вводить дополнительную сущность "список добавленных, но не закоммиченных файлов". В svn, например, список файлов и их содержимое хранятся порознь. Поэтому можно сначала заполнить просто список, а потом, при коммите, записать само содержимое. В git же, коммит, через хэши, содержит и сами файлы. Сделать индекс таким же было просто удобно для программистов, писавших git. Пользователям это доставляет не слишком много неудобств, но при этом дает некоторые преимущества в виде неполного коммита файла.
Комментариев нет:
Отправить комментарий