@@ -19,6 +19,9 @@ Eine Tabelle zur Übersicht der verwendeten Befehle
...
@@ -19,6 +19,9 @@ Eine Tabelle zur Übersicht der verwendeten Befehle
| `git checkout` | Zu einer anderen Branch wechseln
| `git checkout` | Zu einer anderen Branch wechseln
| `git merge` | Zusammenführen von zwei Branches mit einem Merge-Commit
| `git merge` | Zusammenführen von zwei Branches mit einem Merge-Commit
| `git rebase` | Zusammenführen von zwei Branches durch anhängen der Commits
| `git rebase` | Zusammenführen von zwei Branches durch anhängen der Commits
| `git clone` | Remote Repository lokal kopieren
| `git pull` | Lokales Repository mit Änderungen des remote Repository aktualisieren
| `git push` | Remote Repository mit Änderungen des lokalen Repository aktualisieren
## Projekterstellung
## Projekterstellung
...
@@ -871,11 +874,214 @@ Es gibt verschiedene **Sichtbarkeitsstufen** die für remote Repository festgele
...
@@ -871,11 +874,214 @@ Es gibt verschiedene **Sichtbarkeitsstufen** die für remote Repository festgele
-**Public** (Alle Benutzer - ohne Authentifizierung)
-**Public** (Alle Benutzer - ohne Authentifizierung)
### Zusammenhang von remote und lokalen Repositories
Um Projekte Online unabhängig vom aktuellen Gerät zu speichern oder mit anderen Entwicklern an einem Projekt zu arbeiten, ist die Erstellung eines **remote Repository** sinnvoll.
Die verschiedenen Plattformen auf denen Git Projekte gespeichert werden dienen dabei vorallem als globaler Speicher/Zugriffsort.\
Änderungen werden meistens in Entwicklungsumgebungen auf dem lokalen Gerät erstellt, indem das Projekt lokal kopiert und im Anschluss das remote Repository aktualisiert wird.
> Änderungen des remote Repository können auch über die Web-Anwendung erstellt werden
**Schritte zum lokalen Bearbeiten eines remote Repository:**
1.**Kopieren oder Aktualisieren eines remote Repository**
> Falls das remote Repository bereits als **lokales Repositoy existiert**, ist es ausreichend das Repository zu **aktualisieren**.
> Ansonsten muss das remote Repository **kopiert** werden.
- **Kopieren des remote Repository**\
Durch das Kopieren entsteht ein **lokales Repository** mit dem aktuellen Stand des remote Repository
> Es gibt zwei Repository von dem Projekt:
> - Ein **remote Repository** (Online)
> - Ein **lokales Repository** (auf dem lokalen Gerät)
Mit dem folgenden Befehl kann ein remote Repositoy kopiert werden:
```
git clone <URL des remote Repository>
```
- **Aktualisieren des lokalen Repository**\
**Änderungen** vom remote Repository müssen explizit zum lokalen Repository hinzugefügt werden
Mit dem folgendem Befehl kann ein lokales Repository aktualisiert werden:
```
git pull
```
2.**Bearbeiten des Projekts**\
**Änderungen** des Projekts können am lokalen Repository durch `Commits` vorgenommen werden
> Die lokalen `Commits` sind nur im lokalen Repository verfügbar und müssen explizit zum remote Repository hinzugefügt werden!
3.**Remote Repository aktualisieren**\
Durch das aktualisieren des remote Repository mit dem lokalen Repository werden die lokalen `Commits` zum remote Repository hinzugefügt
Mit dem folgenden Befehl können Änderungen vom lokalen zum remote Repository hinzugefügt werden:
```
git push origin <Branch des remote Repository>
```
**Beispiel:**
- Commits werden mit c markiert
<table>
<tr>
<th> Git Befehle - Bearbeiten eines Repository </th>
<th> Remote Repository (origin main) </th>
<th> Lokales Repository (main) </th>
</tr>
<tr>
<td>
</td>
<td>
```
c1 <- c2
```
</td>
<td>
</td>
</tr>
<tr>
<td>
- Kopieren des remote Repository
```
git clone <URL des remote Repository>
```
</td>
<td>
```
c1 <- c2
```
</td>
<td>
```
c1 <- c2
```
</td>
</tr>
<tr>
<td>
- Änderungen zum lokalen Repository hinzufügen (*c3*)
```
git commit
```
</td>
<td>
```
c1 <- c2
```
</td>
<td>
```
c1 <- c2 <- c3
```
</td>
</tr>
<tr>
<td>
- Änderungen zum remote Repository hinzufügen
```
git push origin main
```
</td>
<td>
```
c1 <- c2 <- c3
```
</td>
<td>
```
c1 <- c2 <- c3
```
</td>
</tr>
<tr>
<td>
- Änderungen am remote Repository
> Durch andere Entwickler oder von einem anderem Gerät
</td>
<td>
```
c1 <- c2 <- c3 <- c4
```
</td>
<td>
```
c1 <- c2 <- c3
```
</td>
</tr>
<tr>
<td>
- Lokales Repository aktualisieren
```
git pull origin main
```
</td>
<td>
```
c1 <- c2 <- c3 <- c4
```
</td>
<td>
```
c1 <- c2 <- c3 <- c4
```
</td>
</tr>
</table>
### Nutzen eines remote Repository
### Nutzen eines remote Repository
Falls ein Projekt als remote Repository **gespeichert** oder **öffentlich** zugänglich gemacht werden soll können folgende **Möglichkeiten** auftreten:
Falls ein Projekt als remote Repository **gespeichert** oder **öffentlich** zugänglich gemacht werden soll können folgende **Möglichkeiten** auftreten:
- Ein [**lokales Verzeichnis**](#lokales-projekt)(Projekt) soll in einem remote Repository gespeichert werden
- Ein [**lokales Verzeichnis**](#lokales-projekt)(Projekt) soll in einem remote Repository gespeichert werden
- Ein [**lokales Git Repository**](#lokales-repository) soll in einem remote Repository gespeichert werden
- Ein [**lokales Git Repository**](#lokales-repository) soll in einem remote Repository gespeichert werden
- Ein **remote Repository** soll **lokal** bearbeitet/genutzt werden
Für die Nutzung eines remote Repository muss dieses Repository erst erstellt werden.
Für die Nutzung eines remote Repository muss dieses Repository erst erstellt werden.