Страницы

Поиск по вопросам

понедельник, 9 декабря 2019 г.

Git. Зачем нужно индексирование?

#git


Перед тем как закоммитить изменение, мы должны проиндексировать измененные файлы.
Почему индексирование вынесено в отдельную функцию? Почему бы просто нельзя было осуществить
индексирование непосредственно при самом коммите? 
    


Ответы

Ответ 1



Это сделано для того, что бы иметь возможность управлять содержимым коммита. Не всегда требуется фиксировать все изменения сразу, т.к. они могут быть логически слабо связаны, содержать решение более одной проблемы.

Ответ 2



Вы не должны. Но очевидно, что так делается для удобства. Можете делать git commit -a В индекс автоматически добавятся все изменения. Или git commit --interactive Или git commit --patch Тогда сможете выбирать нужные файлы по-одному, как вам и хочется. Всё это написано в документации.

Ответ 3



Сдается мне, что сделано это было для того, чтобы не вводить дополнительную сущность "список добавленных, но не закоммиченных файлов". В svn, например, список файлов и их содержимое хранятся порознь. Поэтому можно сначала заполнить просто список, а потом, при коммите, записать само содержимое. В git же, коммит, через хэши, содержит и сами файлы. Сделать индекс таким же было просто удобно для программистов, писавших git. Пользователям это доставляет не слишком много неудобств, но при этом дает некоторые преимущества в виде неполного коммита файла.

Комментариев нет:

Отправить комментарий