Also jetzt lerne ich Ruby on Rails, und ich arbeite durch das Buch "Agile Web-Entwicklung mit Rails". Ich habe auch entschieden, dass ich Mercurial eine Chance geben möchte, weil ich über verteilte SCMs gelesen habe, und es scheint eine ideale Situation zu sein. Ich bevorzuge es jedoch, meinen Code remote zu meinem Linux VPS zu schieben, nur wenn meine Festplatte sich entscheidet, einen Tauchgang zu machen.Verzweigung mit Mercurial SCM
Also, meine Frage ist spezifisch für die Verzweigung in Mercurial. Im Moment habe ich ein Remote-Repository eingerichtet und ich kann Änderungen leicht über SSH pushen (zum Teufel habe ich sogar eine Nginx FastCGI-Site eingerichtet, die mich auch pushen lässt). Was ich jedoch gerne machen würde, ist die Erstellung von Zweigen für jedes Kapitel, während ich daran arbeite, so dass ich eine gut organisierte Geschichte meines Fortschritts durch das Buch behalten kann. Also das ist, was ich tue:
$ hg branch chapter-10 (do chapter 10 stuff) $ hg commit -m "Chapter 10 complete" $ hg update default $ hg merge chapter-10 $ hg commit -m "Merging chapter 10 into default" $ hg push
Sobald ich die Push-Anweisung ausführen, bekomme ich diese Nachricht von Mercurial:
pushing to ssh://myserver/hg/depot searching for changes abort: push creates new remote branch 'chapter-10'! (did you forget to merge? use push -f to force)
Deshalb an dieser Stelle ich versuche, ein hg merge
wieder zu tun, und es sagt mir, dass es nichts zu verschmelzen gibt, was offensichtlich wahr ist, weil ich es einfach verschmolzen habe. Wenn ich den Push mit -f erzwinge, scheint alles in Ordnung zu sein, und sogar das Webinterface zeigt die entsprechenden Zweige.
Zusammenfassend ist meine Frage einfach: Mache ich das richtig? Gibt es einen geeigneteren Weg, dies mit Mercurial (d. H. Dem "Mercurial Way") zu tun? Ehrlich gesagt möchte ich nur das Repository als Backup dienen. Ich bin ein Fan des verteilten SCM-Modells, aber für mich fühlt es sich irgendwie "dreckig" an, Pushs zu erzwingen. Jede Einsicht wird sehr geschätzt! Danke im Voraus.
Ihre Absicht: a) Eine Reihe von Kontrollpunkten Ihrer Arbeit zu haben, während Sie sich durch die Kapitel arbeiten oder b) Mehrere Kapitel gleichzeitig öffnen, um sie in verschiedenen Zweigen bearbeiten zu können? – Tarydon
Option A ist meine Absicht hier, aber in einem Team-Szenario konnte ich Wert in Option B sehen und –