5 ответов:
обновление
stigingветку и создать новую ветвь от него. Затем закройте старую ветку.в итоге:
hg update stiging hg branch staging hg commit -m"Changing stiging branch to staging." hg update stiging hg commit --close-branch -m"This was a typo; use staging instead." hg push --new-branch
для будущих читателей: с
rebaseрасширение, вы можете сделать новую ветку с тем же родителем, что иstigingи переместите всю историю ветвей к нему, вот так:hg update -r "parents(min(branch('stiging')))" hg branch staging hg commit hg rebase --source "min(branch('stiging'))" --dest stagingэто предполагает, что
stigingимеет только одного родителя. Конечно, вы можете просто использовать явные номера ревизий вместо этого.Примечание 1: Если филиал
stigingвключает слияния с другими ветвями, I думаю что это сохранит их, покаstagingиstigingесть же родитель. Но я бы, конечно, перепроверил.примечание 2: поскольку это изменяет историю, старая ветвь не просто исчезнет из клонированных репозиториев (см.
rebaseдокументации). Если каждый не может клонировать заново, это может быть не очень практичным решением для большой группы.Note3 / Edit (любезно предоставлено @JasonRCoombs): теперь это этапы стандартные ртутные,
rebaseбудет отказано в изменении наборов изменений, которые уже были выдвинуты. Либо одурачить его изменение фазы обратно на черновик (сhg phases), или пусть старая ветвь останется там, где она есть, и просто сделайте правильно названную копию (например, с "HG rebase --keep").
Если у вас есть изменений на нем, то вам придется использовать конвертировать расширение С картой ветвей, чтобы переименовать его. Затем всем придется клонировать новое РЕПО или снимать старую ветку.
это изменяет историю и только для продвинутых пользователей Mercurial. Не делайте этого, если вы не знаете, что это значит.
если стигинг только локальный, вы можете изменить его на промежуточный с комбинацией графт и прокладки. Начните с обновления до набора изменений предка, где стигинг разошелся. Создайте промежуточную ветвь и привейте каждую фиксацию от стигинга к этапу. Постановка теперь должна быть копией стигинга. Наконец, уничтожьте стигинг путем обнажать свое первый коммит.
hg update {SHA-1 of the ancestor changeset} hg branch staging hg graft {first changeset in stiging} ... {stiging head-1} {stiging head} hg strip {first changeset in stiging} hg push --new-branch
Comments