Вы обязательно должны найти некоторые учебные ресурсы.
Я могу порекомендовать следующее:
Что касается вашего конкретного вопроса, "это лучшая процедура", то я бы сказал нет.
Вот несколько советов.
Прежде всего, вам не нужно постоянно оставаться "синхронизированным" с центральным хранилищем.Вместо этого следуйте этим рекомендациям:
- Перейдите из локального хранилища в центральное, когда вы будете довольны внесенными изменениями.Помните, что это может быть несколько наборов изменений
- Потяните, если вам нужны изменения, которые другие сделали сразу, т.е.есть исправление, исправленное вашим коллегой, которое вам нужно, чтобы продолжить свою собственную работу.
- Потяните до толчка
- Объедините любые дополнительные головки, которые вы сняли, с вашими собственными изменениями,перед тем, как нажать или продолжить работу
Другими словами, вот типичный день.
Вы извлекаете последние изменения, когда приходите утром, чтобы получитьна сегодняшний день местный клон.Вы можете не всегда делать это, если вы находитесь в середине больших изменений, которые вы не закончили вчера.
Тогда вы начинаете работать.Вы фиксируете небольшие наборы изменений с изолированными изменениями. Это не значит, что вы делите большее исправление на множество коммитов меньшего размера только потому, что вы изменяете несколько файлов, но стараетесь избегать исправления более чем одной ошибки за раз или реализации более чем одной функциивовремя.Постарайтесь оставаться сосредоточенным.
Затем, когда вы довольны всеми наборами изменений, добавленными локально, вы решаете отправить их на сервер.Когда вы пытаетесь это сделать, вы получаете сообщение об отмене, в котором говорится, что на сервер будут выдвинуты дополнительные головки, и это не разрешено, поэтому push отменяется.
Вместо этого вы вытягиваете.Это всегда можно сделать, но, конечно, теперь добавляются дополнительные головки в вашем локальном клоне, а не на сервере.
Затем вы объединяете дополнительную голову, полученную с сервера, со своей собственной головой,тот, который вы создали в течение дня, добавив новые изменения в свой клон.Вы разрешаете любые конфликты слияния.
Затем вы нажимаете, и теперь это должно быть успешным.В случае, если кому-то удастся отправить больше наборов изменений в центральный репозиторий, пока вы заняты слиянием, вы получите еще один прерыватель, и вам придется промыть и повторить.
История теперь будет отображать несколько параллельных ветвей разработки., но всегда должен оставаться на максимум 1 голова в вашем центральном хранилище.Если позже вы начнете использовать именованные ветви, у вас может быть 1 заголовок на каждую именованную ветку, но старайтесь избегать этого до тех пор, пока не освоитесь только с веткой по умолчанию.
Что касается необходимости слияния?Ну, Mercurial всегда работает с ревизиями, которые являются снимками всего проекта, что означает, что две ветви, даже если они содержат изменения в разных файлах, на самом деле считаются двумя разными версиями всего проекта, и вы должны сказать Mercurial, что он должен объединятьчтобы вернуться к одной версии.