2010-05-25 1 views
6

Ich habe viel über Mercurial und Verzweigung gelesen, aber ich bin immer noch sehr viel ein Versionskontrolle Neuling.Kleine, temporäre Zweigstelle in Mercurial

Ich arbeite derzeit an einem Projekt, bei dem ich beauftragt wurde, an einem neuen Modul zu arbeiten.

Ich habe ein "Haupt" -Repository, das den neuesten Code aus dem Rest des Projekts enthält, und ein geklontes Repository (nennen es "Task"), wo ich meine Arbeit jetzt mache.

Ich bin eine Reihe von Commits in meine Aufgabe, und ich würde gerne ein wenig "experimentieren" mit der Art, wie mein Programm Konfigurationsdaten liest/speichert/verarbeitet.

Nun, wenn ich VC Best Practices richtig verstehe, wäre dies eine gute Zeit zu verzweigen.

Wenn ich mit diesem Experiment anfange und mir gefällt, wohin es geht, werde ich es ziemlich schnell wieder in mein "Aufgaben" -Repository im "Standard" -Verzweig einfügen wollen.

Auf der anderen Seite, wenn ich nicht mag, wie es geht, werde ich wahrscheinlich nur den Zweig verschrotten.

Die Art und Weise, wie ich mich am bequemsten verzweigen kann, ist durch Klonen, aber ich denke nicht, dass dies der beste Ansatz in dieser Situation wäre, da ich nur ein paar Dateien ändere, aber anscheinend benannte Zweige ist permanent, was auch hier nicht angebracht erscheint.

Was ist Ihr Rat/beste Praxis für diese Art von Situation?

Antwort

5

Ich bin relativ neu bei Mercurial, aber ich kenne genau die Situation, die Sie beschreiben. Ich habe schon einmal darüber geforscht, und meine Schlussfolgerung war, dass der einfachste Weg war, mein Repository zu klonen.

Weitere Informationen finden Sie unter this answer.

Auch ist dies ein großer guide to branching in Mercurial :)

2

Gehen Sie mit einem Klon, kein Zweifel. Eine benannte Verzweigung in Mercurial ist etwas, das selbst die Mercurial-Leute sagen, dass Sie nicht so oft brauchen. Eines der schönen Dinge über DVCS ist die Tatsache, dass Sie das Repo leicht klonen und einige neue und andere Dinge ausprobieren können, und wenn sie gut funktionieren, führen Sie sie wieder in das Hauptrepo ein, ansonsten löschen Sie alles.

Ich persönlich benutze einen "Branch By Feature" -Ansatz mit Mercurial, was bedeutet, dass ich einen Klon von meinem primären Repo für jedes Feature mache, an dem ich arbeite. Dies beinhaltet Spikes und Experimente.

+1

Warum nicht anonyme Zweigstelle? Es ist weniger schwer als ein Klon und nicht so dauerhaft wie ein Feature-Zweig. – Santa

+0

Das scheint eine vernünftige Option und wahrscheinlich weniger sperrig für ein großes Projekt. Vielen Dank! – ckramer