Ich versuche, Lesezeichen anstelle von Zweigen in mercurial zu verwenden. Der Grund dafür ist, dass ich in Zweigen nicht viele unnötige feste benannte permanente Elemente haben möchte.
Das Problem tritt auf, wenn ich ein separates Lesezeichen für eine neue Feature-Entwicklung verwende und es in das Out-Repository verschieben möchte. Nun, hg erlaubt mir nicht zu drücken, wenn 'neuer Remote Head' erstellt wird. Was soll ich in der Lage sein, so einen Schub zu machen, als ob ich einen neuen Zweig erstellen würde?
Alice erstellt Repository:
%Vor%Bob klont Alices Repository:
%Vor%Alice nimmt einige Änderungen am Code des Projekts vor:
%Vor%Bob beginnt seine Arbeit an New Cool Feature mit einem separaten Lesezeichen, um seinen unabhängigen "Zweig" der Arbeit zu identifizieren:
%Vor%Bob versucht, seine Änderungen in Alices Verzeichnis zu übertragen:
%Vor%Ok, zuerst muss Bob die Änderungen von Alice in sein eigenes Repository ziehen:
%Vor%Nun, Bob hat zwei Köpfe in seinem Repository, das ist in Ordnung.
%Vor%Nach dem Versuch, einen weiteren Push zu machen, wird Bob zur Zusammenführung aufgefordert. Bob möchte die Zusammenführung nicht vornehmen, da seine Ergebnisse der Arbeit an New Cool Feature noch nicht für die Zusammenführung bereit sind.
%Vor%
Was sollte Bob tun, um seine Änderungen in Alices Repo zu übertragen, als wären seine Änderungen in einem separaten Zweig?
UPD1: In einer realen Situation wird Alices Repo als zentraler Synchronisationspunkt für alle Mitglieder des Entwicklerteams verwendet.
Er sollte entweder:
Die Nachricht ist da, weil es oft einfach ist, einen neuen Kopf zu erstellen, ohne es zu merken. Manchmal ist es genau das, was Sie wollen, und deshalb gibt es den Override-Schalter.