Dieses Tutorial bietet eine detaillierte Einführung in die Nutzung von Git für die Zusammenarbeit, wenn die Dateien auf einem Server liegen.
Bitte lesen Sie zuerst die theoretischen Grundlagen von Versionskontrollsystemen unter diesem Link aufmerksam durch, um ein Verständnis für VCS und Git zu bekommen.
Da mehrere Studierende denselben Benutzeraccount auf dem Server nutzen, muss jeder Studierende seine eigene Git-Konfigurationsdatei (.gitconfig) anlegen. Dies ermöglicht eine individuelle Zuordnung der Beiträge zu jedem Studierenden.
ssh benutzername@serveradresse
pwd überprüfen, in welchem Verzeichnis Sie sich befinden.pwd
.gitconfig-isa1a .gitconfig-isa1b .gitconfig-isa1cnano .gitconfig-isa1a
[user]
name = Ihr Name
email = Ihre Email-Adresse
Ctrl+O drücken, gefolgt von Enter, und schließen Sie den Editor mit Ctrl+X.Weitere wichtige Punkte zur Beachtung:
$ angezeigt wird, ist die Shell nicht aktiviert. Geben Sie bash ein, um die Bash-Shell zu starten.ls -a einen Überblick im Terminal.Um den Wechsel zwischen verschiedenen Git-Konfigurationen zu vereinfachen, können Sie Bash-Aliases einrichten. Dies ermöglicht Ihnen, schnell die richtige Konfigurationsdatei zu verwenden, wenn Sie Git-Befehle ausführen.
Wenn Sie keine Aliases verwenden möchten, können Sie stattdessen die `--config` Option direkt in Ihren Git-Befehlen verwenden, um die spezifische Konfigurationsdatei anzugeben. Dies ist besonders nützlich, wenn Sie sicherstellen möchten, dass jeder Commit mit den richtigen Benutzerinformationen verbunden ist, ohne globale Einstellungen zu ändern.
Unten finden Sie Beispiele, wie Sie Git-Kommandos ohne die Verwendung von Aliases ausführen können:
git --config /home/isa1/.gitconfig-isa1a commit -m "Änderungen durchgeführt"
git --config /home/isa1/.gitconfig-isa1b add .
git --config /home/isa1/.gitconfig-isa1a push
Diese Methode erfordert, dass Sie jedes Mal, wenn Sie einen Git-Befehl ausführen, den vollständigen Pfad zur Konfigurationsdatei angeben. Dies kann etwas umständlicher sein als die Verwendung von Aliases, bietet jedoch eine flexible Kontrolle über die verwendeten Benutzerkonfigurationen. Einfacher geht es jedoch mit Bash-Aliases:
nano ~/.bashrc
alias gitisa1a='git --config ~/.gitconfig-isa1a'
alias gitisa1b='git --config ~/.gitconfig-isa1b'
source ~/.bashrc
Um Ihre Git-Kommandos mit der spezifischen Konfigurationsdatei auszuführen, nutzen Sie einfach den entsprechenden Alias. Zum Beispiel:
gitisa1a commit -m "Änderungen durchgeführt"
Diese Methode stellt sicher, dass die richtige .gitconfig-Datei verwendet wird, was die Zuordnung der Beiträge zu den richtigen Personen erleichtert.
Dieses Tutorial führt Sie in die Grundlagen von Git ein, einem leistungsstarken Tool zur Versionskontrolle, das es Entwicklern ermöglicht, Änderungen an ihren Projekten effektiv zu verwalten und mit anderen zusammenzuarbeiten.
Bevor wir in die spezifischen Befehle eintauchen, ist es wichtig, einige Kernkonzepte von Git zu verstehen:
Nun, da Sie die Grundkonzepte kennen, schauen wir uns einige der meistverwendeten Git-Befehle an:
| Befehl | Beschreibung |
|---|---|
| git init | Erstellt ein neues Git-Repository im aktuellen Verzeichnis. Dies ist der erste Schritt, um die Versionskontrolle für Ihr Projekt zu beginnen. |
| git add | Fügt Änderungen in den Index hinzu. Dieser Befehl sagt Git, welche Dateiänderungen in den nächsten Commit aufgenommen werden sollen. |
| git commit | Erstellt einen neuen Commit aus den Änderungen, die im Index gespeichert wurden. Jeder Commit wird zusammen mit einer Nachricht gespeichert, die erklärt, was geändert wurde. |
| git push | Schickt Ihre lokalen Commits zum Remote-Server. Dies ist wichtig, um Ihre Arbeit mit anderen zu teilen. |
| git pull | Zieht die neuesten Änderungen vom Remote-Server und aktualisiert Ihr lokales Repository. Dies hilft Ihnen, Konflikte zu vermeiden und auf dem Laufenden zu bleiben. |
| git branch | Erstellt, listet oder löscht Branches. Dieser Befehl ist zentral für die Arbeit an verschiedenen Teilen eines Projekts gleichzeitig. |
| git merge | Führt Änderungen aus einem Branch in einen anderen ein. Dies ist der Schlüssel zum Zusammenführen von abgeschlossenen Features in den Hauptentwicklungszweig. |
Im Folgenden finden Sie praktische Beispiele, die zeigen, wie Sie die oben genannten Befehle verwenden können:
# Initialisieren eines neuen Git-Repositories
git init
# Hinzufügen einer Datei zum Index
git add README.md
# Erstellen eines Commits
git commit -m "Erster Commit mit einer README-Datei"
# Erstellen eines neuen Branches
git branch feature-branch
# Wechseln zu einem Branch
git checkout feature-branch
# Zusammenführen eines Branches in den master
git checkout master
git merge feature-branch
# Pushen der Änderungen zum Remote-Server
git push origin master
Dieses Beispiel zeigt Ihnen, wie Sie ein Git-Repository initialisieren, Änderungen hinzufügen, einen Commit erstellen, mit Branches arbeiten und letztendlich Ihre Änderungen auf einen Remote-Server pushen.
Der Befehl git init wird verwendet, um ein neues lokales Git-Repository zu erstellen. Dies ist der erste Schritt in der Versionskontrolle. Er erstellt ein verstecktes Verzeichnis namens .git, das alle notwendigen Metadaten enthält, die Git zum Verwalten der Versionen Ihrer Dateien benötigt.
git init
Mit git add fügen Sie eine spezifische Datei zum Index hinzu, in diesem Fall README.md. Der Index ist eine Vorbereitungsbereich, in dem Git Änderungen vor dem Commit sammelt.
git add README.md
Ein Commit ist eine Aufzeichnung Ihrer Änderungen, die Sie am Index vorgenommen haben. Mit dem Befehl git commit erstellen Sie einen Commit und fügen eine Nachricht hinzu, die beschreibt, was geändert wurde, hier zum Beispiel "Erster Commit mit einer README-Datei".
git commit -m "Erster Commit mit einer README-Datei"
Branches erlauben es Ihnen, von der Hauptlinie der Entwicklung abzuzweigen, um an neuen Features zu arbeiten, ohne die Hauptlinie zu beeinflussen. git branch feature-branch erstellt einen neuen Branch namens "feature-branch". Mit git checkout feature-branch wechseln Sie dann in diesen Branch.
git branch feature-branch
git checkout feature-branch
Wenn Ihre Arbeit im Branch abgeschlossen ist, können Sie diese Änderungen zurück in den Hauptbranch (meistens master oder main) integrieren. Dazu wechseln Sie zuerst zurück in den Hauptbranch mit git checkout master und führen dann git merge feature-branch aus, um die Änderungen zusammenzuführen.
git checkout master
git merge feature-branch
Nachdem Sie Ihre lokalen Änderungen vorgenommen haben, können Sie diese zum Remote-Server pushen, damit auch andere Teammitglieder darauf zugreifen können. git push origin master sendet die Commits aus Ihrem lokalen master-Branch zum Remote-Repository.
git push origin master
In diesem Kapitel lernen Sie, wie Sie in Ihrem spezifischen Subdomain-Verzeichnis ein Git-Repository initialisieren und gemeinsam an einer neuen Datei arbeiten. Ziel ist es, eine Kontaktseite für Ihre bereits bestehende Beispiel-Homepage zu erstellen.
Zunächst müssen Sie zu Ihrem Subdomain-Verzeichnis navigieren und dort ein Git-Repository initialisieren. Dies ermöglicht es Ihnen, alle Änderungen an Dateien in diesem Verzeichnis zu verfolgen.
Öffnen Sie ein Terminal und verwenden Sie den Befehl cd, um in das Verzeichnis Ihrer Subdomain zu wechseln, z.B. /var/www/isa1.
cd /var/www/isa1
Verwenden Sie den Befehl git init, um in diesem Verzeichnis ein neues Git-Repository zu initialisieren. Dadurch wird ein neuer Ordner namens .git erstellt, der alle notwendigen Git-Dateien enthält.
git init
Nachdem das Repository initialisiert wurde, erstellen Sie eine neue HTML-Datei, die als Kontaktseite dient.
Verwenden Sie einen Editor wie Nano, um die Datei contact.html zu erstellen. Fügen Sie HTML-Code hinzu, der die Struktur Ihrer Kontaktseite bildet.
<!-- Grundstruktur Ihrer Kontaktseite -->
<html>
<head>
<title>Kontaktseite</title>
</head>
<body>
<h1>Kontaktieren Sie uns</h1>
<p>Email: info@example.com</p>
</body>
</html>
Nachdem Sie die Datei bearbeitet haben, speichern Sie die Änderungen und verwenden Sie Git-Befehle, um die Änderungen zu verfolgen und zu commiten.
git add contact.html
git commit -m "Kontaktseite erstellt"
Nachdem Sie Ihre Kontaktseite erstellt und den ersten Commit durchgeführt haben, werden Sie wahrscheinlich weitere Updates vornehmen und möglicherweise mit Ihren Teammitgliedern zusammenarbeiten wollen. Hier sind die Schritte für einen fortgeschrittenen Git-Workflow:
Nehmen Sie weitere Änderungen an Ihrer contact.html vor. Zum Beispiel könnten Sie ein Kontaktformular hinzufügen.
<form action="submit_form.php" method="POST">
<label for="name">Name:</label>
<input type="text" id="name" name="name"><br>
<label for="email">Email:</label>
<input type="email" id="email" name="email"><br>
<input type="submit" value="Submit">
</form>
Verwenden Sie git status, um zu sehen, welche Dateien geändert wurden und noch gestaged und committed werden müssen.
git status
Fügen Sie die geänderten Dateien zum Staging-Bereich hinzu mit git add.
git add contact.html
Speichern Sie Ihre Änderungen im lokalen Repository mit git commit.
git commit -m "Kontaktformular hinzugefügt"
Wenn Sie an einem neuen Feature arbeiten, das noch nicht in den Hauptbranch integriert werden soll, können Sie einen neuen Branch erstellen.
git branch feature-kontaktformular
git checkout feature-kontaktformular
Nachdem das Feature fertiggestellt ist, können Sie den neuen Branch zurück in den Hauptbranch (z.B. master) mergen.
git checkout master
git merge feature-kontaktformular
Dieser Workflow umfasst die grundlegenden Schritte, die Sie beim Arbeiten mit Git durchführen müssen, einschließlich der Verwendung von Branches und dem Mergen von Änderungen, um eine effektive Versionenkontrolle Ihrer Projekte zu gewährleisten.
Ziel: Verstehen der Verwendung von Branches in Git, um neue Features sicher zu entwickeln, ohne den Hauptentwicklungszweig zu beeinträchtigen.
git branch feature-neu.git checkout feature-neu.git commit -am "Add new feature".main oder master) und mergen Sie die Änderungen aus dem Feature-Branch mit dem Befehl: git merge feature-neu.Ziel: Erfahren Sie, wie man Merge-Konflikte löst, die beim Zusammenführen von Änderungen aus verschiedenen Branches auftreten können.
feature-update mit dem Befehl: git branch feature-update und wechseln Sie zu diesem Branch mit: git checkout feature-update.index.html) und fügen Sie einige Änderungen hinzu oder ändern Sie den bestehenden Inhalt.git commit -am "Update index.html on feature branch".main) und ändern Sie dieselbe Datei (index.html) an derselben Stelle anders als im feature-update Branch.git commit -am "Update index.html on main branch".feature-update Branch in den Hauptbranch zu mergen mit: git merge feature-update.<<<<<<<, =======, >>>>>>>) und eine endgültige Version des Inhalts auswählen.git add . gefolgt von git commit -m "Resolve merge conflict".Ziel: Lernen Sie, wie Sie ein Remote-Repository auf einer Plattform wie GitHub oder GitLab einrichten und nutzen, um Ihre Änderungen zu teilen und mit anderen zu synchronisieren.
Beispiel: https://github.com/username/neues-repository.git
git remote add origin URL_des_Remote-Repository
git push -u origin main
git pull origin main