Versionsmanagement-Tipps: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
 
Zeile 100: Zeile 100:
 
* Holen von Änderungen vom Server
 
* Holen von Änderungen vom Server
 
   git pull
 
   git pull
 +
 +
=== Zweige ===
 +
 +
Einen Branch/Zweig erzeugt man am einfachsten so:
 +
  git checkout -b NEUERZWEIG
 +
 +
Zu einem anderen Zweig wechselt man mit
 +
  git checkout ZWEIG
 +
 +
Der Standard-Zweig nennt sich normalerweise <code>master</code> oder <code>main</code>.
  
 
=== Git Merge ===
 
=== Git Merge ===
  
 
Siehe [https://git-scm.com/book/de/v1/Git-Branching-Einfaches-Branching-und-Merging Anleitung zum Einfachen Branching und Merging]
 
Siehe [https://git-scm.com/book/de/v1/Git-Branching-Einfaches-Branching-und-Merging Anleitung zum Einfachen Branching und Merging]
 +
 +
=== Ändern des letzten commits ===
 +
 +
Manchmal vergisst man eine Datei beim Commiten. Wenn es den letzten commit betrifft, ist die Fehlerbehebung einfach:
 +
 +
  git add FEHLENDE_DATEI
 +
  git commit --amend --no-edit
  
 
=== Weiteres zu Git ===
 
=== Weiteres zu Git ===

Version vom 3. September 2021, 18:58 Uhr

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

Zweige

Einen Branch/Zweig erzeugt man am einfachsten so:

 git checkout -b NEUERZWEIG

Zu einem anderen Zweig wechselt man mit

 git checkout ZWEIG

Der Standard-Zweig nennt sich normalerweise master oder main.

Git Merge

Siehe Anleitung zum Einfachen Branching und Merging

Ändern des letzten commits

Manchmal vergisst man eine Datei beim Commiten. Wenn es den letzten commit betrifft, ist die Fehlerbehebung einfach:

 git add FEHLENDE_DATEI
 git commit --amend --no-edit

Weiteres zu Git