Почему Git не сохраняет имя ветки как часть коммита?

Обратите внимание на : я не пытаюсь перезапустить аргумент, лучше ли Mercurial или Git, у меня просто технический вопрос, который я, как пользователь Mercurial , не понимаю. Я также не уверен, подходит ли SO, чтобы задать такой вопрос, но это связано с программированием.

Было много дискуссий о том, чем две системы управления версиями Git и Mercurial отличаются друг от друга с точки зрения пользователя (например, В чем разница между Mercurial и Git? и http : //felipec.wordpress.com/2011/01/16/mercurial-vs-git-its-all-in-the-branches/ ), и основное различие заключается в обработке ветвей. Я прочитал многие из этих обсуждений, но все время задаю себе этот вопрос:

Почему Git не сохраняет имя ветки как часть коммита?

Я действительно не вижу веской причины не делать этого; это означает, что данные не могут просто исчезнуть, потому что на них нет ссылки (тега, ветки и т. д.).

Я считаю, что сохранение ветки в фиксации является большим плюсом для Mercurial, потому что это затрудняет потерю данных.

Основная идея Git в пользу модели ветвления Git, заключающаяся в том, что вы можете просто удалять ветки, не мешает Git сохранять имя ветки как часть каждого коммита: если коммиты ветки удаляются, так же ссылки на эту ветку. Это также не помешает аргументу «дешевого ветвления»: управление ветвями не будет дороже. И я не думаю, что необходимость в дополнительном хранилище должна вызывать беспокойство: это всего пара байтов на одну фиксацию.

11
задан Community 23 May 2017 в 10:26
поделиться