Versionsmanagement-Tipps

Aus CodicaTipps
Version vom 21. August 2017, 04:52 Uhr von Codica (Diskussion | Beiträge) (→‎Git)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Siehe oldCt:Versionsmanagement-Tipps


Das Versionsmanagementsystem CVS wird nach und nach von Subversion (SVN) oder auch verteilten Systemen wie Mercurial abgelöst.

Subversion-Server

Folgende Schritte sind für einen einfachen Subversionserver mit einem Repository nötig:

Einrichten eines Repository

  • Einrichten eines Repository auf dem Server mit Hilfe des Utility svnadmin:
  svnadmin create myRepo 
    • Dadurch wird unterhalb des aktuellen Verzeichnisses ein neues Repository angelegt (im Prinzip eine Verzeichnisstruktur für SVN-Verwaltungsdaten und die eigentlichen Inhalte).

Zugriffsberechtigungen

  • Editieren der Datei conf/svnserve.conf:
    • password-db=passwordDatei Name der Passwort-Datei
    • realm=AuthUmgebung wird als Teilschlüssel zwischen Server und Client ausgetauscht
    • anon-access=none kein anonymer Zugriff
    • auth-access=write authentifizierte User können Lesen und Schreiben
  • Erstellen der passwordDatei (im selben Verzeichnis wie svnserve.conf:
      [users]
      user1=passwort1
      user2=passwort2
    

Serverstart

  • Starten des Servers mit
 svnserve -d --foreground 
    • bzw. mit Angabe des Wurzelverzeichnisses:
 svnserve -d --foreground -r /wurzelverzeichnis 
  • In der Firewall muss der betroffene Port freigegeben werden.

Automatischer Start bei Systemboot

  • Anlegen eines speziellen Users für svnserve mit
 useradd svnserve
 
  • Erstellen einer Datei /etc/init.d/svnserve.sh mit folgendem Inhalt:
 #! /bin/sh
 REPOS_DIR=/home/svnserve/repos
 start-stop-daemon --start --chuid svnserve --exec /usr/bin/svnserve  -- -d -r $REPOS_DIRvs20067:
  • Ausführbar machen (als root):
 chmod +x /etc/init.d/svnserve.sh
  • Installieren für die User-Runlevel:
 update-rc.d dhSvnServe.sh defaults
 
 

Subversion-Client

  • Der Zugriff mittels des Clients svn erfolgt dann z.B. so:
 svn --editor-cmd joe --username user1 --password passwort1 --import meinBestehendesArbeitsverzeichnis svn://IP-AdresseDesServers/myRepo
 
    
  • Danach muss übrigens ein Checkout erfolgen.

Mercurial

Mercurial ist wie Git ein verteiltes Versionsverwaltungssystem.

Git

Git ist ein verteiltes Versionskontrollsystem.

Git Konfiguration

Es kann man auch als Server-Client-System einsetzen:

  • Einrichten des GIT-Systems
 git config --global user.name "Max Mustermann"
 git config --global user.email "muster@mann.de"

Einrichten eines Git-Repository

  • Einrichten eines GIT-Repository auf einem Server server.de
 cd ~
 mkdir myproject
 git init
 touch README.txt
 git add .
 git commit -a -m "Erstversion"
 git checkout -b tmpBranch #Wechsel weg vom Master, sonst ist dieser für Remote-Schreibzugriffe gesperrt
  • Einrichten eines GIT-Repository auf dem Client
 git clone user@server.de:myproject/.git
 

Arbeiten im Projekt

  • Hinzufügen von Dateien
 git add .
 git commit -a -m "Kommentar"
 git push origin master
  • Holen von Änderungen vom Server
 git pull

Git Merge

Siehe Anleitung zum Einfachen Branching und Merging

Weiteres zu Git