Ich benutze seit einiger Zeit „Git“ für Versionsverwaltung von meine Entwicklungen. Hier können Sie nachlesen wie ich es einsetze um meine tägliche Arbeit zu erledigen. Zur Zeit benutze ich es alleine aber in naher Zukunft möchte ich Updates für meine Kunden auf diesem Weg anzubieten.
Um hier beschriebenen Schritte erfolgreich durchzuführen brauchen wir einen Linux(Ubuntu) Rechner , den wir als Speicherplatz für unsere Repositories einsetzen wollen. Dieser Rechner sollte folgende Voraussetzungen erfüllen:
- Ich nehme in diesem Artikel an dass der Ubuntu-Server “my.gitServer.org” heisst$> hostnamemy.gitServer.org
- installierte ssh und openssh-server(Weil wir unsere Repository über ssh zugreifen wollen)$> sudo apt-get install ssh openssh-server
Git Installation
Nach dem Git auf dem Rechner installiert ist, sollte man es als erster konfigurieren. Hier erst mal die gängigsten Einstellungen:
Benutzername
$> git config –- global --add user.name “Max Musterman”
Email-Adresse
$> git config –-global --add user.email “mm@domain.com”
Git auf dem Server Installieren und Konfigurieren
Die Installation von git auf dem Ubuntu ist recht einfach und kann mit folgenden Kommando erledigt werden:
$> sudo apt-get install git
Wir brauchen jetzt eine Möglichkeit um diese Server über SSH zu erreichen. Hierfür legen wir erst mal einen Benutzer an und stellen wir Zugriffsrechte fest:
$> sudo adduser git $> su git $> cd $> mkdir .ssh && chmod 700 .ss $> touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
So jetzt alle Benutzer deren publik-Schlüssel in .ssh/authorized_keys aufgelistet ist können sich verbinden.
Alle schlüsseln werden so wie untere Kommando in die Datei ran gehängt.
$> cat [BenutzerPublikSchluessel] >> .ssh/authorized_keys
Git Repository auf dem Server erzeugen
Ein zentrales Repository wird eingesetzt um anderen Entwickler den Zugriff zu erlauben, worauf die ihre Änderungen abgleichen können.
Hierfür brauchen wir als erster ein Ordner, wo wir unsere repository anlegen können.
$> mkdir myRepository
Jetzt wechseln wir in dem Ordner und erzeugen wir so ein Repository mit dem folgenden Kommando:
$> mkdir myRepository
Optional kannst du auch die beiden Kommandos vereint schreiben:
$> git init --bare myRepository
TIP: Hänge „.git“ am ende von dein Repositories. Das hat sich so durchgesetzt, womit du dann schnell erkennen kannst dass diese Ordner ein git-repository beinhaltet.
Tip: Server umgezogen
Im laufe der Zeit kommt es vor , warum auch immer, dass der „Git“-Server ändert. Sei es der Ordner auf dem Server oder gar der ganze Server. Dies führt dazu, dass die einzelne Clients nicht mehr darauf zugreifen können. Um dies zu lösen sind folgende Schritte nötig:
- der Remote herausfindenmit dem kommando : „git remote show“ können Sie den betroffenen remote aus der Liste herausfinden
- betroffene Remote entfernenmit dem kommando „git remote rm remote“ (meistens: git remote rm origin“) können Sie den remote entfernen.
- neue Remote-Repository hinzufügen“git remote add remote neue-URL“ kannst du einen neuen Remote-Repository hinzufügen und dabei neue URL benutzen.
Git unter Windows hinter proxy
Ich bin öfter außerhalb meines Büros im Einsatz und muss manchmal Internetzugang von meinem Kunden mitbenutzen. Darum nehme ich gerne Putty her um leichter auf meine Repositories zuzugreifen. Die Einrichtung finde ich auch nicht komplitziert wie es auf manchen Seiten behauptet wird.
Die Umgebung für diese Beschreibung:
- Ein entfernter Linux(Ubuntu) Rechner(Server) nennen wir unsere Server: “my.gitServer.org”
- ein Benutzer mit dem Namen “git” auf dem Server.
- OpenSSH und OpenSSH-Server sind auf dem Server installiert
- Man kann sich remote (ohne PROXY) auf dem Server einloggen
Also es kann los gehen.
- Erstmal muss man putty installieren.Hier gehe ich davon aus, dass “putty” in default Ordner (“C:\Program Files\Putty”) installiert wurde.
- Erst brauchen wir ein Umgebungsvariable um git mitzuteilen welches Programm es hernehmen soll um Verbindungen aufzubauen:
GIT_SSH=”C:\Program Files\Putty\plink.exe”
Am besten kann man das unter “System Einstellungen” –> “System” –> “Erweitert” –> “Umgebungsvariablen” vornehmen. - SSH-Schlüsseln Generieren.
Nachdem Umgebungsvariable gesetzt ist können wir unsere SSH-Schlüsseln generieren. Hierfür nehmen wir “puttygen” – Programm her.
WICHTIG: Nach der Generierung der Schlüssel das Programm noch nicht beenden.
Erst muss man “Public key for pasting into OpenSSH authorized_keys file:” kopieren.
- Jetzt können wir uns Schlüsseln generieren lassen(“Generate”). Nach der Generierung muss man die Schlüsseln (“Private” und “public”) sichern.
- Obwohl man OpenSSH-Schlüssel jederzeit wieder herstellen kann, empfehle ich dieses in einem Datei zu sichern. Das ist die publik-Schlüssel die wir für Git-Repository brauchen.
- Generierte OpenSSH-Schlüssel auf dem git Repository-Server sichern (der Schlüssel wird an .ssh/authorized_keys datei von git Benutzer ran gehängt. ).
- Jetzt Putty starten und generieren wir einen Session.Wichtig hier bei ist außer Eintragung der Proxy-Einstellungen, der Name , unter welchem man die Session speichert. Es soll unter dem selben Namen gesichert werden wie der Server. in unserem Fall also: my.gitServer.org Nach der Eintragung der Proxy-Einstellungen sollte es dann funktionieren.