Branching in Mercurial

2020-07-07 10:59发布

I have starting using Mercurial for my (our) versioning needs. I have now come to the point that I need to create a feature branch. However, now that I have started working on it -- and I try to push my changes, I keep getting a warning about new remote heads. That's stupid, I know that there will be new remote head(s) that's what a branch after all is?

How am I supposed to create branches and push them without this problem, without using force push as it is surely not the right way to go, right?

I thought about using separate repositories, but that feels just stupid especially for feature branches.

Any help welcome!

2条回答
叼着烟拽天下
2楼-- · 2020-07-07 11:26

This tutorial by Joel Spolsky helped me a bunch when I just started out with mercurial. It might be helpful for you as well:

http://hginit.com/

查看更多
Melony?
3楼-- · 2020-07-07 11:41

To date, the best guide out there is Steve Losh's "A Guide to Branching in Mercurial".

Mercurial will always complain about creating new heads on the remote. You must use either --force or --new-branch when creating a new head.

When using TortoiseHg, the same can be accomplished via the Synchronize view of the Workbench. Click Options and then select the Allow push of a new branch or Force push or pull option, as needed.

TortoiseHg v2.x

The reason it behaves this is way is that the Mercurial developers wanted to make it a conscious decision to create a new head on the remote. Their view is that typical workflows should merge changes prior to pushing.

查看更多
登录 后发表回答