48 lines
1.9 KiB
Markdown
48 lines
1.9 KiB
Markdown
# Repository
|
|
|
|
## Was ist ein Repository?
|
|
Ein Repository ist ein Speicherort für den Code eines Projekts. Es enthält alle Dateien, den gesamten Änderungsverlauf und ermöglicht es Entwicklern, gemeinsam an einem Projekt zu arbeiten.
|
|
|
|
Es gibt zwei Arten von Repositories:
|
|
- **Lokales Repository**: Befindet sich auf dem eigenen Computer.
|
|
- **Remote-Repository**: Wird auf einem Server oder einer Plattform gehostet. Die Hochschule verwendet dort gitty, es gibt aber auch noch andere Plattformen wie GitHub, GitLab oder Bitbucket.
|
|
|
|
## Aufbau eines Git-Repositories
|
|
Ein Git-Repository besteht aus drei Hauptbereichen:
|
|
1. **Arbeitsverzeichnis** (Working Directory): Enthält die aktuellen Projektdateien.
|
|
2. **Staging Area** (Index): Hier werden Änderungen für den nächsten Commit vorbereitet.
|
|
3. **Repository**: Speichert alle bestätigten Commits dauerhaft.
|
|
|
|
## Ein Repository erstellen
|
|
Um ein neues lokales Git-Repository zu erstellen, nutzt man den Befehl:
|
|
```bash
|
|
git init
|
|
```
|
|
Dadurch wird ein versteckter Ordner `.git` im aktuellen Verzeichnis erstellt, der alle Versionskontrolldaten enthält.
|
|
|
|
## Ein bestehendes Repository klonen
|
|
Falls ein Projekt bereits existiert und auf einer Plattform wie GitHub gehostet wird, kann es mit folgendem Befehl auf den eigenen Computer geladen werden:
|
|
```bash
|
|
git clone <repositoryUrl>
|
|
```
|
|
Dieser Befehl erstellt eine Kopie des Remote-Repositories auf dem lokalen Rechner.
|
|
|
|
## Dateien zu Git hinzufügen
|
|
Nachdem Dateien im Arbeitsverzeichnis erstellt oder geändert wurden, müssen sie in die Staging Area verschoben werden:
|
|
```bash
|
|
git add <dateiname>
|
|
|
|
```
|
|
Oder um alle Änderungen auf einmal hinzuzufügen:
|
|
```bash
|
|
git add .
|
|
```
|
|
|
|
## Änderungen committen
|
|
Nach dem Hinzufügen von Dateien in die Staging Area können sie mit einer Nachricht gespeichert werden:
|
|
```bash
|
|
git commit -m "Initialer Commit"
|
|
```
|
|
Dies speichert die Änderungen dauerhaft im lokalen Repository.
|
|
|
|
--- |