Select Page

Meistern Sie Git und SSH: Ein Leitfaden auf dem Weg zum Profi im Code-Management

Wie Sie bspw. Ihren WordPress Plugincode in einem lokalen Git Repository pflegen und mit mehreren Remote Repositories im Sync halten (z. B. mit einem GitHub Repo und einem SSH Repo, um im Team arbeiten zu können)

Entdecken Sie die Welt von Git und SSH! Lernen Sie, wie Sie Ihr eigenes Git-Repository erstellen, mit einem SSH-Server synchronisieren und effektiv im Team arbeiten.

Dieser Artikel wurde zuletzt am 21. November 2023 aktualisiert.

info
Geschrieben von Saskia Teichmann
am 21. November 2023
Git ∙ Github ∙ SSH ∙ WordPress Entwicklung
Entdecken Sie die Welt von Git und SSH! Lernen Sie, wie Sie Ihr eigenes Git-Repository erstellen, mit einem SSH-Server synchronisieren und effektiv im Team arbeiten.

Willkommen zu dieser Anleitung, in der wir uns mit Versionierung und Teamarbeit in der Softwareentwicklung beschäftigen werden. Sie lernen, wie Sie ein privates Git-Repository einrichten und dieses mit einem SSH-Zielverzeichnis synchronisieren. Dieses Setup ist ideal für die Entwicklung von WordPress-Plugins, -Themes oder andere Codebestandteile, bei denen eine detaillierte Bearbeitungshistorie und Team-Kollaboration entscheidend sind.

Vorbereitungen für diesen Leitfaden

Bevor Sie beginnen, stellen Sie sicher, dass Ihr lokales Setup folgende Voraussetzungen erfüllt:

  1. Git installiert: Überprüfen Sie, ob Git auf Ihrem System und auf dem gewünschten Remote Server installiert ist. Falls nicht, können Sie es von git-scm.com herunterladen und installieren.
  2. SSH-Zugang: Stellen Sie sicher, dass Sie SSH-Zugang zu dem Server haben, mit dem Sie arbeiten möchten.
  3. Texteditor: Ein grundlegender Texteditor wie Nano, Vim oder ein ähnliches Programm sollte installiert sein.
  4. Internetverbindung: Eine stabile Internetverbindung ist erforderlich, um mit Remote-Repositories zu interagieren.

Einrichten eines privaten, lokalen Git-Repositories

Zunächst richten Sie Ihr eigenes privates Git-Repository ein. Dieses Repository dient als zentrale Anlaufstelle, in der alle Versionen Ihres Codes gespeichert werden.

git init MeinProjekt  # Initialisiert ein neues Git-Repository namens 'MeinProjekt'
cd MeinProjekt        # Wechselt in das soeben erstellte Verzeichnis
git add .             # Fügt alle aktuellen Dateien zum Repository hinzu
git commit -m "Erster Commit" # Erstellt einen 'Commit' mit der Nachricht 'Erster Commit'

Synchronisieren des Git-Repositories mit einem SSH-Zielverzeichnis

Hier synchronisieren Sie Ihr lokales Git-Repository mit einem Remote-Verzeichnis über SSH. Dies ermöglicht es Ihnen, Ihre Arbeit sicher auf einem entfernten Server zu speichern und mit Teammitgliedern zu teilen.

ssh root@ihr-server.com "mkdir /pfad/zum/zielverzeichnis" # Erstellt ein Verzeichnis auf dem Server
ssh root@ihr-server.com "cd /pfad/zum/zielverzeichnis; git init --bare" # Initialisiert ein 'bare' Git-Repository auf dem Server
git remote add origin ssh://root@ihr-server.com/pfad/zum/zielverzeichnis # Verknüpft Ihr lokales Repository mit dem entfernten Repository. Das Remote Repository wird nun unter der Kennung "origin" geführt. Sie können auch eine andere Kennung verwenden.
git push origin master # Schickt Ihre lokalen Änderungen zum Remote-Repository

Arbeiten mit GitHub

Wenn Sie lieber mit GitHub arbeiten, oder zusätzlich ein weiteres Remote-Repository anbinden möchten, können Sie Ihr lokales Repository außerdem mit einem GitHub-Repository verbinden:

ssh root@ihr-server.com "mkdir /pfad/zum/zielverzeichnis" # Erstellt ein Verzeichnis auf dem Server
ssh root@ihr-server.com "cd /pfad/zum/zielverzeichnis; git init --bare" # Initialisiert ein 'bare' Git-Repository auf dem Server
git remote add origin ssh://root@ihr-server.com/pfad/zum/zielverzeichnis # Verknüpft Ihr lokales Repository mit dem entfernten Repository
git push origin master # Schickt Ihre lokalen Änderungen zum Remote-Repository

Automatisches Pushen von Releases (Veröffentlichungen) auf das SSH-Ziel

Automatisieren Sie das Deployment Ihrer Änderungen auf den Server mit einem Post-Receive-Hook:

ssh root@ihr-server.com  # Verbindet sich mit dem Server
cd /pfad/zum/zielverzeichnis  # Wechselt in das Zielverzeichnis
nano hooks/post-receive  # Erstellt oder bearbeitet das 'post-receive' Hook-Skript

Fügen Sie das folgende Skript ein, um automatisch Änderungen im Arbeitsverzeichnis auf dem Server zu übernehmen:

#!/bin/sh
GIT_WORK_TREE=/pfad/zum/arbeitsverzeichnis git checkout -f  # Aktualisiert das Arbeitsverzeichnis auf dem Server mit den neuesten Änderungen
chown -R benutzername:gruppenname /pfad/zum/arbeitsverzeichnis  # Ändert den Eigentümer der Dateien im Arbeitsverzeichnis
chmod +x hooks/post-receive  # Macht das Skript ausführbar
Optional:
chown -R 33:33 /pfad/zum/arbeitsverzeichnis # Sorgt dafür, dass die Dateien und Verzeichnisse im Arbeitsverzeichnis einem bestimmten Serverbenutzer und Serverbenutzergruppe zugeordnet wird. Ich verwende hier 33:33, denn dies sind die IDs meines Webserverbenutzers und der Webserverbenutzergruppe www-data.

Änderungen vom SSH-Ziel in das lokale Repository ziehen

Änderungen, die auf dem SSH-Zielserver vorgenommen wurden, in Ihr lokales Repository übertragen:

ssh root@ihr-server.com  # Verbindet sich mit dem Server
cd /pfad/zum/arbeitsverzeichnis  # Wechselt in das Arbeitsverzeichnis auf dem Server
git add .  # Fügt alle neuen oder geänderten Dateien zum Commit hinzu
git commit -m "Beschreibung der Änderungen"  # Erstellt einen neuen Commit mit Ihrer Änderungsbeschreibung
git push origin master  # Schickt die Änderungen zum Remote-Repository
git pull origin master  # Zieht die neuesten Änderungen vom Remote-Repository in Ihr lokales Repository

Änderungen vom GitHub Remote Repository ins lokale Repository übernehmen

Zuletzt lernen Sie, wie man Änderungen, die im GitHub Remote Repository gemacht wurden, effizient in das lokale Repository integriert. Dies ist besonders nützlich, wenn Sie in einem Team arbeiten, wo mehrere Personen gleichzeitig an unterschiedlichen Teilen eines Projekts arbeiten, wie zum Beispiel bei der Entwicklung komplexer Software oder beim gemeinschaftlichen Erstellen eines WordPress-Themes oder -Plugins. Durch das regelmäßige Aktualisieren Ihres lokalen Repositories stellen Sie sicher, dass Sie immer auf dem neuesten Stand der gemeinsamen Arbeit sind.

git fetch origin master  # Holt die neuesten Informationen vom GitHub-Repository
git merge origin/master  # Führt die Änderungen vom GitHub-Repository in Ihr lokales Repository ein

Fazit: Gemeinsam wachsen durch Teilen und Lernen

Wir sind nun am Ende dieses Leitfadens angelangt, und ich hoffe, dass diese Einblicke in die Verwendung von Git und SSH für Sie nützlich sind. Denken Sie daran, dass das Meistern dieser Tools nicht nur Ihre individuellen Fähigkeiten in der Softwareentwicklung verbessert, sondern auch den Weg für effizientere und harmonischere Teamprojekte ebnet.

Ich lade Sie herzlich dazu ein, Ihre Gedanken, Erfahrungen oder Fragen in den Kommentaren zu teilen. Haben Sie bereits Erfahrungen mit Git und SSH gemacht? Gibt es bestimmte Herausforderungen, denen Sie begegnet sind, oder Tipps, die Sie mit der Community teilen möchten? Ihr Feedback ist nicht nur für mich, sondern auch für andere Leserinnen und Leser von großem Wert.

Ihr Beitrag könnte der Schlüssel sein, der jemand anderem hilft, ein Problem zu lösen oder eine neue Perspektive zu entdecken. Ich freue mich darauf, von Ihnen zu hören!

Bis zum nächsten Mal, bleiben Sie neugierig und engagieren Sie sich in der Welt des Codings! 🌟👨‍💻👩‍💻

<span  Teichmann</span>

Saskia Teichmann

Eine WordPress Full Stack Webentwicklerin aus Deutschland, die es mag schöne Websites und anspruchsvolle Webprojekte umzusetzen.

Privat geht Saskia gern mit ihrer Familie im Tramuntana Gebirge auf Mallorca wandern, in den Herrenhäuser Gärten in Hannover spazieren oder schwimmen im Meer.

Projektanfrage stellenKaffee ausgeben

0 Kommentare

Kommentar schreiben

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert