Mercurial — Änderungen 4679 → 4686

Zeile 2: Zeile 2:
 
Wobei alle Kommandos mit hg, dem Elementsymbol für Quecksilber(engl. Mercury), beginnen. Es gibt aber auch eine Explorer Erweiterung(TortoiseHg) mit Hilfe derer Mercurial über das Kontext-Menu gesteuert werden kann und IDEs wie zum Beispiel NetBeans und KDevelop die Mercurial unterstützen.
 
Wobei alle Kommandos mit hg, dem Elementsymbol für Quecksilber(engl. Mercury), beginnen. Es gibt aber auch eine Explorer Erweiterung(TortoiseHg) mit Hilfe derer Mercurial über das Kontext-Menu gesteuert werden kann und IDEs wie zum Beispiel NetBeans und KDevelop die Mercurial unterstützen.
  
−
= Eigenschaften =
+
== Eigenschaften ==
 
Mercurial gehört zu der Gruppe der dezentral organisierten [[Versionsverwaltung|VCS]], d.h. es benötigt keinen zentralen Server um die Repositories vieler Entwickler miteinander zu synchronisieren.
 
Mercurial gehört zu der Gruppe der dezentral organisierten [[Versionsverwaltung|VCS]], d.h. es benötigt keinen zentralen Server um die Repositories vieler Entwickler miteinander zu synchronisieren.
  
−
== Besonderheiten ==
+
=== Besonderheiten ===
 
Eine Besonderheit an Mercurial ist, dass alle Befehle sich auf das Wurzelverzeichnis des Repositories beziehen, wenn nicht anders angegeben, und nicht wie bei den meisten anderen Systemen nur auf das aktuelle Verzeichnis.
 
Eine Besonderheit an Mercurial ist, dass alle Befehle sich auf das Wurzelverzeichnis des Repositories beziehen, wenn nicht anders angegeben, und nicht wie bei den meisten anderen Systemen nur auf das aktuelle Verzeichnis.
  
−
= hg - Shell Kommandos =
+
== hg - Shell Kommandos ==
 
Dies ist eine kurze Einführung in ein paar nützliche Befehle. Für weitere Informationen ist der ''help''-Befehl recht hilfreich.
 
Dies ist eine kurze Einführung in ein paar nützliche Befehle. Für weitere Informationen ist der ''help''-Befehl recht hilfreich.
 
  $ hg help [topic]
 
  $ hg help [topic]
Zeile 14: Zeile 14:
 
So lässt sich der ''update''-Befehl beispielsweise auch durch ''up'', ''checkout'' und ''co'' ansprechen.
 
So lässt sich der ''update''-Befehl beispielsweise auch durch ''up'', ''checkout'' und ''co'' ansprechen.
  
−
== Repository erstellen ==
+
=== Repository erstellen ===
 
Ein neues hg-Repository zu erstellen ist ganz einfach. Mittels ''init''-Befehl lässt sich das aktuelle Verzeichnis oder optional ein beliebiges anderes Verzeichnis in ein Repository verwandeln.
 
Ein neues hg-Repository zu erstellen ist ganz einfach. Mittels ''init''-Befehl lässt sich das aktuelle Verzeichnis oder optional ein beliebiges anderes Verzeichnis in ein Repository verwandeln.
 
  $ hg init [dir]
 
  $ hg init [dir]
 
Dabei ist es egal ob sich in dem betreffenden Verzeichnis bereits Quellcodes befinden oder nicht. Das Repository wird zunächst noch kein der möglicherweise vorhandenen Dateien unter Versionkontrolle haben.
 
Dabei ist es egal ob sich in dem betreffenden Verzeichnis bereits Quellcodes befinden oder nicht. Das Repository wird zunächst noch kein der möglicherweise vorhandenen Dateien unter Versionkontrolle haben.
  
−
== Repository Clonen ==
+
=== Repository Clonen ===
 
Wenn bereits ein Repository für das gewünschte Projekt existiert, muss kein neues Repository erstellt werden. Es reicht das existierende für die eigenen Arbeit zu Clonen.
 
Wenn bereits ein Repository für das gewünschte Projekt existiert, muss kein neues Repository erstellt werden. Es reicht das existierende für die eigenen Arbeit zu Clonen.
 
  $ hg clone <URI>
 
  $ hg clone <URI>
 
Dabei wird der ''default-path'' automatisch auf die angegebene URI gesetzt, so dass alle ''push''- und ''pull''-Befehle ohne URI auf diese Adresse zugreifen.
 
Dabei wird der ''default-path'' automatisch auf die angegebene URI gesetzt, so dass alle ''push''- und ''pull''-Befehle ohne URI auf diese Adresse zugreifen.
  
−
== Dateien hinzufügen/entferen ==
+
=== Dateien hinzufügen/entferen ===
 
Um Dateien in die Obhut des Repositories zu geben. Müssen sie zunächst einmal hinzugefügt werden.
 
Um Dateien in die Obhut des Repositories zu geben. Müssen sie zunächst einmal hinzugefügt werden.
 
  $ hg add <file>
 
  $ hg add <file>
Zeile 34: Zeile 34:
 
Damit diese Änderungen wirksam werden müssen sie commited werden.
 
Damit diese Änderungen wirksam werden müssen sie commited werden.
  
−
== Änderungen übernehmen ==
+
=== Änderungen übernehmen ===
 
Wurden Änderungen gemacht müssen sie mit ''commit''-Befehl übernommen werden.
 
Wurden Änderungen gemacht müssen sie mit ''commit''-Befehl übernommen werden.
 
  $ hg commit
 
  $ hg commit
 
Mercurial erstellt jetzt eine neue Revision des Projekts und gibt die Möglichkeit die Änderungen mit einer Commit-Message zu kommentieren.
 
Mercurial erstellt jetzt eine neue Revision des Projekts und gibt die Möglichkeit die Änderungen mit einer Commit-Message zu kommentieren.
  
−
== Arbeitsverzeichnis aktualisieren ==
+
=== Arbeitsverzeichnis aktualisieren ===
 
Mit dem ''update''-Befehl lässt sich das Arbeitsverzeichnis auf den stand jeder beliebigen Revision des Repositories bringen.
 
Mit dem ''update''-Befehl lässt sich das Arbeitsverzeichnis auf den stand jeder beliebigen Revision des Repositories bringen.
 
  $ hg update [REV]
 
  $ hg update [REV]
 
Wird keine keine Revision angegeben aktualisiert Mercurial automatisch auf die letzte.
 
Wird keine keine Revision angegeben aktualisiert Mercurial automatisch auf die letzte.
  
−
== Änderungen holen/importieren ==
+
=== Änderungen holen/importieren ===
 
Um Änderungen aus anderen Repositories zu übernehmen gibt es verschiedene Möglichkeiten. Eine davon ist der ''pull''-Befehl. Er übernimmt alle Änderungen aus dem Quellrepository die im aktuellen noch Fehlen.  
 
Um Änderungen aus anderen Repositories zu übernehmen gibt es verschiedene Möglichkeiten. Eine davon ist der ''pull''-Befehl. Er übernimmt alle Änderungen aus dem Quellrepository die im aktuellen noch Fehlen.  
 
  $ hg pull [&lt;URI&gt;]
 
  $ hg pull [&lt;URI&gt;]
Zeile 51: Zeile 51:
 
Weitere Möglichkeiten fremde Änderungen zu übernehmen sind das importieren von Patches oder Änderungs-Bündeln mit den Befehlen ''import'' bzw. ''unbundle''.
 
Weitere Möglichkeiten fremde Änderungen zu übernehmen sind das importieren von Patches oder Änderungs-Bündeln mit den Befehlen ''import'' bzw. ''unbundle''.
  
−
== Änderungen übertragen/exportieren ==
+
=== Änderungen übertragen/exportieren ===
 
Natürlich können die eigenen Änderungen auf verschieden Arten anderen zugänglich gemacht werden. Äquivalent zum ''pull''-Befehl existiert ein ''push''
 
Natürlich können die eigenen Änderungen auf verschieden Arten anderen zugänglich gemacht werden. Äquivalent zum ''pull''-Befehl existiert ein ''push''
 
  $ hg push [&lt;URI&gt;]
 
  $ hg push [&lt;URI&gt;]
 
Damit lassen sich Änderungen (entsprechende Rechte vorausgesetzt) direkt in fremde Repositories übertragen. Es lassen sich aber auch Patches exportieren ''(export)'' oder Änderungen in Bündel zusammen fassen ''(bundle)''.
 
Damit lassen sich Änderungen (entsprechende Rechte vorausgesetzt) direkt in fremde Repositories übertragen. Es lassen sich aber auch Patches exportieren ''(export)'' oder Änderungen in Bündel zusammen fassen ''(bundle)''.
  
−
== Weiter nützliche Befehle ==
+
=== Weitere nützliche Befehle ===
 
* ''tag(s)'' - Zum Benennen von Revisionen  
 
* ''tag(s)'' - Zum Benennen von Revisionen  
 
* ''branch(s)'' - Zum Benennen von Entwicklungszweigen
 
* ''branch(s)'' - Zum Benennen von Entwicklungszweigen
 
* ''status'', ''diff'', ''log'' und ''help''
 
* ''status'', ''diff'', ''log'' und ''help''
  
−
= Kostenlose Repository Hoster =
+
== Kostenlose Repository Hoster ==
 
Auch wenn Mercurial ohne zentralen Server auskommt, kann ein solcher für zum Beispiel die Veröffentlichung nützlich sein.
 
Auch wenn Mercurial ohne zentralen Server auskommt, kann ein solcher für zum Beispiel die Veröffentlichung nützlich sein.
 
Kostenlose Hoster sind unter anderem [http://sourceforge.net SourceForge] und [http://code.google.com Google Code].
 
Kostenlose Hoster sind unter anderem [http://sourceforge.net SourceForge] und [http://code.google.com Google Code].
  
−
Eine liste mit weitern Hostern gibt es [http://mercurial.selenic.com/wiki/MercurialHosting hier].
+
Eine Liste mit weiteren Hostern gibt es [http://mercurial.selenic.com/wiki/MercurialHosting hier].
  
−
= Weblinks =
+
== Weblinks ==
 
* [http://hgbook.red-bean.com/read/ Mercurial Buch] ''(english)''
 
* [http://hgbook.red-bean.com/read/ Mercurial Buch] ''(english)''
 
* [http://mercurial.selenic.com/wiki/GermanTutorial Deutschsprachiges Tutorial auf der offiziellen Mercurial Website]
 
* [http://mercurial.selenic.com/wiki/GermanTutorial Deutschsprachiges Tutorial auf der offiziellen Mercurial Website]
  
 
[[Kategorie:Versionsverwaltung]]
 
[[Kategorie:Versionsverwaltung]]