MercurialVersionControl
Back to current versionRestore this version

Mercurial #

Mercurial ist ein dezentrales Versionskontrollsystem (VersionsVerwaltung). Es ist unter http://www.selenic.com/mercurial/wiki/ zu finden. Die Standard-Dokumentation ist auf http://hgbook.red-bean.com/read/ zu finden.

einige Mercurial-Befehle #

  hg clone ssh://username@hg.javaproject.de/../groups/mercurial/repos/meinprojekt meinprojekt

Holt das angegebene Repository vom angegebenen Server. Es entsteht ein neues Verzeichnis "meinprojekt", in dem man dann arbeiten kann.

Die weiteren Befehle innerhalb des Repositories ausführen:

  hg status

Zeigt von mir selber geänderte Dateien (vorne 'M') und neue Dateien (vorne '?') an.

  hg add

Nimmt alle neue Dateien in die Versionsverwaltung auf. Beachtet dabei die Filter-Einstellungen in ".hgignore".

  hg commit -m "texttexttext"

Schreibt alle Änderungen in das lokale Repository.

  hg outgoing ssh://tbayen@hg.javaproject.de/../groups/mercurial/repos/meinprojekt

Zeigt die ausgehenden Unterschiede zwischen dem Repository auf dem Server und meinem eigenen Repository (d.h. dem ,was ich mit commit auch eingecheckt habe) an.

  hg incoming ssh://tbayen@hg.javaproject.de/../groups/mercurial/repos/meinprojekt

Wie outgoing, zeigt aber die neuen Änderungen auf dem Server an.

Diesen Befehl wieder eine Verzeichnisebene oberhalb des Repositories ausführen:

  hg push ssh://username@hg.javaproject.de/../groups/mercurial/repos/meinprojekt

schreibt alle Änderungen aus dem lokalen Repository in das entfernte Repository auf dem Server hg.javaproject.de, auf dem ich einen SSH-Zugang habe. Ist das das Repository, von dem ich mich geklont habe (der häufigste Fall), so reicht es, im Arbeitsverzeichnis zu bleiben und

  hg push

zu schreiben.

Man sollte übrigens vor dem push immer sicher sein, daß sich das Repository nicht inzwischen geändert hat. Das kann man mit "incoming" prüfen und, falls es eine Änderung gibt, ggf. vorher ein "pull" und "update", ggf. gefolgt von einem "merge" und "commit" machen. Bevor man Fremde Daten in sein Repository holt, ist natürlich ein "clone" als Kopie immer eine gute Idee.