Skip to content
Snippets Groups Projects
Commit d849bdc6 authored by morit02's avatar morit02
Browse files

Add git remote Repository commands/info

- Connect a local to a global repository
- Connect a local project to a global repository
parent 78e3b983
No related branches found
No related tags found
No related merge requests found
......@@ -860,15 +860,108 @@ c1 <- c2 <- c5 <-c6 <- c3 <- c4 b1 (*)
## Add your files
## Remote Repositories
Git Repository können auch auf **Servern** (Online) gespeichert werden.\
Da das Repository Online gespeichert wird, kann **unabhängig** vom benutztem **Gerät** auf dieses remote Repository zugegriffen werden.
Dabei können mehrere Entwickler an einem Projekt (Repository) **zusammenarbeiten**.
Es gibt verschiedene **Sichtbarkeitsstufen** die für remote Repository festgelegt werden können:
- **Private** (Benutzer müssen zum Projekt (Repository) hinzugefügt werden - einzelned/als Gruppe)
- **Internal** (Benutzer der gleichen Organisation)
- **Public** (Alle Benutzer - ohne Authentifizierung)
### Nutzen eines remote Repository
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 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.
> Ein remote Repository hat eigene Branches (mit `origin` bezeichnet).\
> Diese Upstream Branches können mit lokale Branches verknüpft werden.\
> Dabei haben lokale Branches maximal ein Upstream Branch zu welcher lokale Commits für das remote Repository gepusht werden.
### Erstellen eines remote Repository
Es gibt unterschiedliche **Plattformen** die das Hosten von Git Repository anbieten:
- GitHub
- GitLab
- Bitbucket
#### Erstellung eines remote Repository mit GitLab
- `New Project` (rechts oben)
- `Create blank project` (oder von einem Template: `Create from template`)
- Repository Einstellungen
- Projektnamen
- Sichtbarkeitslevel (Private, Internal oder Public)
- README Dokument
- `Create project`
### Lokales Projekt
In diesem Fall **existiert** bereits ein Projekt **ohne** Git Repository. Dieses Projekt soll jetzt mit einem **remote** Repository gespeichert werden.
**Folgende Schritte sind notwendig:**
0. Erstellen eines remote Repository
> Auf einer Plattform die Git Repository hosted - Speicherort des Repository
1. Navigation in das Verzeichnis des lokalen Projekts
```
cd [lokales Projekt]
```
2. Erstellen eines lokalen Git Repository
```
git init --initial-branch=main
```
> Bei GitLab standardmäßig die Hauptbranch: main
3. Verknüpfung zum erstellten remote Repository herstellen
```
git remote add origin [URL des erstellten remote Repository]
```
4. Alle Dokumente/Verzeichnisse im Repository speichern
```
git add .
git commit -m "Initial commit"
```
5. Die lokale Branch mit der Upstream Branch verknüpfen und den lokalen Commit zum remote Repository hinzufügen
```
git push --set-upstream origin main
```
> Verknüpfung der lokalen Branch `main` mit der Upstream Branch (remote Branch) `main`\
> Dadurch werden Commits automatisch von der lokalen Branch `main` auf die remote Branch `main` gepusht
### Lokales Repository
In diesem Fall gibt es bereits ein **lokales** Git Repository auf dem Gerät, das jetzt mit dem zuvor erstellten **remote** Repository **verknüpft** werden soll.
**Folgende Schritte sind notwendig:**
0. Erstellen eines remote Repository
> Auf einer Plattform die Git Repository hosted - Speicherort des Repository
1. Navigation in das Verzeichnis des lokalen Projekts
```
cd [lokales Projekt]
```
2. Entferen der Verknüpfung zu einem möglichen remote Repository
```
git remote rename origin old-origin
```
3. Verknüpfung zum erstellten remote Repository herstellen
```
git remote add origin [URL des erstellten remote Repository]
```
4. Festlegen der Upstream branches
```
git push --set-upstream origin --all
```
> Verknüpfung der lokalen Branch `main` mit der Upstream Branch (remote Branch) `main`\
> Dadurch werden Commits automatisch von der lokalen Branch `main` auf die remote Branch `main` gepusht
5. Festlegen der Upstream tags
```
git push --set-upstream origin --tags
```
- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
```
cd existing_repo
git remote add origin https://git.imp.fu-berlin.de/morit02/git-basics.git
git branch -M main
git push -uf origin main
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment