Я недавно начал использовать Mercurial, и мне нравится, как у меня есть защита VCS для моей индивидуальной разработки, не регистрируя ее в центральном репозитории, затем я перехожу к центральному репо, когда у меня есть что-то готовое для остальной команды.
Когда я "hg commit", я пишу сообщение о коммите, относящееся к добавлению с момента последнего коммита.У меня может быть 5 или около того локальных коммитов, прежде чем я буду готов выдвинуть материал к центральному.Когда я делаю push, если я не указываю ревизию, все мои локальные коммиты и их сообщения добавляются в центральный репозиторий, но я не хочу загромождать центральный журнал всеми моими локальными шагами smalls.Когда я нажимаю и указываю локальную ревизию, я думаю, что только эта ревизия и ее сообщение о фиксации выдвигаются, верно?
Проблема в том, что я хочу нажать с сообщением о фиксации, которое обобщает все мои локальные "офлайн"работать, потому что это то, что я действительно добавляю.Однако, сообщение коммита, которое выдвигается, является тем, что я написал недавно.Скажем, я работаю над функцией А, и у меня есть пять локальных коммитов для нее;«Добавлено A.1» «Добавлено A.2» «Очистить код в foo.cpp» и т. Д., Оканчиваясь на «Добавлено A.4».Я хочу, чтобы зарегистрировался в центральном репозитории: «Добавлен A, очищен foo.cpp», но если я нажму последнюю версию, он просто увидит «Добавленный А.4».Теперь, когда произошли обновления для централизованного сервера, мне нужно локально слиться, прежде чем я отправлю, мое локальное сообщение коммита «Объединено в подсказку».Понятно, что это не очень хорошее сообщение о коммите, чтобы отодвинуть его назад.
Что здесь хорошего?Мне неизвестен какой-либо механизм изменения существующего сообщения о коммите или отправки нового сообщения о коммите.Я не хочу вносить тривиальные изменения в мое локальное хранилище, просто чтобы ввести новое сообщение о коммите перед изменением;это просто глупо.Я должен что-то упустить, потому что это кажется основным.Или я не думаю о Mercurial правильно?