Обратите внимание: я не пытаюсь перезапустить аргумент, лучше ли 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 хранить имя ветки как часть каждой фиксации: если коммит ветки удаляются, поэтому ссылки на эту ветвь. Он также не будет вмешиваться в аргумент "дешевый ветвление": ветки не будут дороже управлять. И я не думаю, что дополнительное хранилище должно вызывать беспокойство: это всего лишь пара байтов на фиксацию.