Im Grunde genommen habe ich einen dev-Zweig, und was ich tun möchte, ist, einen Feature-Zweig zu erstellen, während ich etwas implementiere, und es dann wieder zusammenführe. So kommt es zum Beispiel zu folgenden Situationen:
%Vor%Da dev kein head ist, ist es immer noch möglich, dev up zu bringen, so dass sowohl dev als auch feature auf f zeigen.
Ich bin mir ziemlich sicher, dass Git das gut kann, aber er scheint Mercurial nicht zu überzeugen, dasselbe zu tun ...
Carl Meyer hat Recht. Du denkst wie ein Git Benutzer, und Mercurial behandelt die Dinge anders.
Du könntest tun, was Carl vorgeschlagen hat, und das nächste Commit zwingen, im Dev-Zweig zu sein. Ich persönlich würde das eher verwirrend finden, wenn ich es sehen würde, da es im Dev-Zweig eine Diskontinuität geben würde.
Die Art, wie ich damit umgehen würde, ist, den Feature-Zweig wieder zusammenzuführen: hg update dev && hg merge feature && hg commit -m 'Merge in the completed feature.'
Dies würde zu einem Diagramm führen wie:
%Vor%Für mich zeigt das deutlich, was genau passiert ist. Sie haben für ein neues Feature abgezweigt und es in den Dev-Zweig zusammengeführt, wenn Sie fertig sind. Die Tatsache, dass es in der Zwischenzeit keine weiteren Commits auf Dev gab, ist nur ein Zufall und muss den Workflow nicht ändern.
Benannte Zweige in hg (anders als in git) "zeigen" nirgendwo. Branch-Namen sind keine beweglichen Aliase für eine bestimmte rev. Jeder Commit verfügt über einen Metadaten-Marker, der den Zweig angibt, für den Commit aktiviert ist. das ist alles.
Wenn Sie in dieser Situation keine separaten Commits haben, die von "d" auf dem Dev-Zweig abstammen, müssen Sie nur "hg branch dev" ausführen und dann Ihr nächstes Commit, das von "f" abstammt. , werde wieder auf dem Zweig Dev sein. Was ich denke, wird die Ergebnisse erzielen, die Sie suchen.
BEARBEITEN : Das wird funktionieren, aber Steve Loshs Vorschlag, eine tatsächliche Zusammenführung zu machen, wird zu einer vernünftigeren Geschichte führen.