Теперь у нас есть ветвь «стиг», где «постановка» кажется намного лучшей семантической подгонкой. Какая хорошая стратегия для этого?Mercurial: Можно ли переименовать ветку?
ответ
Обновление до ветки 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
Сделать новую ветку под названием «постановка» и забыть о других ...
+1 Это то, что я сделал бы. Старые изменения будут по-прежнему иметь имя старой ветви, но новые будут иметь новое название ветки. – barjak 2010-12-08 12:53:24
Если у вас есть на него ревизии, то вы должны будете использовать convert extension с branchmap, чтобы переименовать его. Затем каждый должен будет клонировать новое репо или удалять старую ветку.
Для будущих читателей: С расширением 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
включает в себя слияние с другими отраслями, я думаю что это сохранит их, до тех пор, как staging
и stiging
имеют один и тот же родитель. Но я бы, конечно, дважды проверял.
Примечание 2: Поскольку это редактирует историю, старая ветка не просто исчезнет из клонированных репозиториев (см. Документацию rebase
). Если каждый не сможет клонировать заново, это может быть не очень практичное решение для большой группы.
Note3/Edit (любезно предоставлено @JasonRCoombs): теперь, когда phases являются стандартными в mercurial, rebase
откажется изменять уже внесенные изменения. Либо обманите его, изменив фазу назад на черновик (с hg phases
), либо пусть старая ветка останется там, где она есть, и просто сделайте правильно названную копию (например, с помощью `hg rebase --keep ').
Это изменяет историю и предназначено только для продвинутых пользователей Mercurial. Не делайте этого, если вы не знаете, что это значит.
Если stiging является только местным, вы можете изменить его на стадию с комбинацией graft и strip. Начните с обновления до набора изменений предков, где стигляция расходится. Создайте промежуточную ветку и пересадите каждую фиксацию из строения в стадию. Теперь постановка должна быть копией стигирования. Наконец, уничтожьте стигмент, сняв первую фиксацию.
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
- 1. Возможно ли открыть закрытую ветку в Mercurial?
- 2. Можно ли переименовать ArrayList?
- 3. Можно ли переименовать $ target_path?
- 4. Можно ли переименовать Main.mxml?
- 5. Можно ли переименовать SKPayment.applicationUsername?
- 6. Mercurial: клонировать только ветку репозитория
- 7. Можно ли переименовать подстроку qt?
- 8. Можно ли разделить хранилище Mercurial?
- 9. Переименовать ветку 'a', чтобы овладеть
- 10. Можно ли переименовать svn-тег
- 11. Можно ли переименовать ключ Hashmap?
- 12. Можно ли переименовать папку Areas?
- 13. Можно ли переименовать файл Gruntfile.js?
- 14. Mercurial - Как указать ветку на фиксации?
- 15. Mercurial: добавить ветку из главного репозитория
- 16. Mercurial: как нажать на ветку по умолчанию?
- 17. Mercurial - Можно ли объединить изменения с багажника на ветку, в пределах того же репо?
- 18. (Mercurial) Можно ли зафиксировать и направить строку кода в другую ветку, которая уже существует в другой?
- 19. TortoiseGit - Можно ли установить цвет в ветку?
- 20. Можно ли использовать ветку в php?
- 21. Можно ли изменить страницу на ветку?
- 22. Как переименовать удаленную ветку с помощью TortoiseGit?
- 23. Внесение изменений в новую ветку в Mercurial
- 24. Как удалить удаленную ветку в Mercurial?
- 25. Mercurial: сохранить ветку по умолчанию «active»
- 26. GitLab переименовать ветку и начать еще раз
- 27. Mercurial: можно ли избежать настроек прокси-сервера?
- 28. Можно ли повторно использовать элемент конфигурации Mercurial?
- 29. Переименовать привязанного к ветви в Mercurial
- 30. Как переименовать главную ветку при использовании гитолита
Это лучший способ сделать это, что я нашел. Закрытие ветки предотвращает случайное использование других, потому что оно не отображается на выходе «ветвей hg». Он по-прежнему позволяет вам получить к нему доступ позже, если вы знаете имя. – Utensil 2011-09-14 15:39:03