Mercurial: создайте ветку без необходимости вносить изменения в первую очередь
Я слышал, что единственный способ создать ветвь в репозитории Mercurial-внести изменения в рабочую копию, а затем зафиксировать их в новой ветви.
в Subversion я могу создать ветку без необходимости вносить изменения (путем копирования trunk
в путь tags
) - возможно ли это сделать и в Mercurial?
в настоящее время я видел только TortoiseHg, поэтому возможно, это можно сделать только с помощью инструмента командной строки, и я этого не знаю.
мой рабочий процесс для этого:
- создать отдельную ветку.
- поработать в этой ветка.
- создайте ветвь кандидата на выпуск.
- функция(ы) слияния для выпуска ветви кандидата.
- Deploy, test, fix deploy, test, fix release candidate branch.
- объединить ветку кандидата на выпуск в магистраль.
заранее большое спасибо.
3 ответов
Это зависит от того, что вы подразумеваете под ветку.
именованную ветвь можно создать, дав ей имя, а затем зафиксировав, она будет в конечном итоге как новый набор изменений в истории, но вам не нужно явно изменять какие-либо файлы в рабочей папке, чтобы разрешить фиксацию.
hg branch NEWNAME
hg commit -m "Created branch NEWNAME"
вы также можете сделать это с помощью диалогового TortoiseHg.
однако, если вы хотите создать еще одну неназванную ветвь, т. е. просто еще одна голова, тогда да, нужно менять что-то. И действительно, почему вы хотите просто создать пустой набор изменений без изменений? Просто чтобы сигнализировать ,что"вот где я помещу свою ветку, когда у меня будут некоторые изменения"?
вы, возможно, захотите, чтобы проверить расширение закладки (который скоро будет частью ядра Mercurial).
Если вы знакомы с тем, как работают филиалы в git, то это почти то же самое.
и так же, как ветви в git, вы можете создать закладку, ничего не совершая.
$ hg bookmark my-feature