|
|
# GitLab
|
|
|
|
|
|
[[_TOC_]]
|
|
|
|
|
|
---
|
|
|
|
|
|
## Git Large File Storage (LFS) verwenden
|
|
|
|
|
|
1. **Install Git-LFS client:**
|
|
|
|
|
|
- Arch Linux: `pacman -Sy git-lfs`
|
|
|
- Debian/Ubuntu: `apt update && apt install git-lfs`
|
|
|
- Fedora: `dnf install git-lfs`
|
|
|
- Windows: Download and install using [Windows Installer](https://github.com/git-lfs/git-lfs/releases/download/v2.13.2/git-lfs-windows-v2.13.2.exe)
|
|
|
- Mac: `brew install git-lfs`
|
|
|
|
|
|
For Git-LFS to work, it requires the `git-lfs` plugin. Install it and you are good to go.
|
|
|
|
|
|
2. **Enable Git-LFS inside your repository:** `git lfs install`
|
|
|
|
|
|
This creates hooks, which will be executed every time you commit or push your changes to the central Git repository.
|
|
|
|
|
|
3. **Configure the kind of files, which you want to store in LFS:**
|
|
|
|
|
|
You need to explicitly name the file types, which you want to store in LFS instead of putting them directly into the repository. You can either use the `git lfs track TYPES` command, or edit the resulting `.gitattributes` file in the root of your repository directly. Here is an example for the `.gitattributes` file:
|
|
|
|
|
|
```
|
|
|
# Archives
|
|
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
|
|
*.br filter=lfs diff=lfs merge=lfs -text
|
|
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
|
|
*.tar filter=lfs diff=lfs merge=lfs -text
|
|
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
# Documents
|
|
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
# Images
|
|
|
*.gif filter=lfs diff=lfs merge=lfs -text
|
|
|
*.ico filter=lfs diff=lfs merge=lfs -text
|
|
|
*.jpg filter=lfs diff=lfs merge=lfs -text
|
|
|
*.png filter=lfs diff=lfs merge=lfs -text
|
|
|
*.psd filter=lfs diff=lfs merge=lfs -text
|
|
|
*.webp filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
# Fonts
|
|
|
*.woff2 filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
# Other
|
|
|
*.exe filter=lfs diff=lfs merge=lfs -text
|
|
|
```
|
|
|
|
|
|
When you've added the list of tracked files, then you need to commit your newly created `.gitattributes` file by executing: `git add .gitattributes && git commit -m "Define LFS tracked files"`
|
|
|
|
|
|
4. **Add your large files to the repository:**
|
|
|
|
|
|
You can now work in your repository as you usually would. Simply add any large file, Git-LFS will magically handle the rest.
|
|
|
|
|
|
![](git-lfs/gitlab-lfs-example.png)
|
|
|
|
|
|
## Projekte Importieren
|
|
|
|
|
|
### Projekte von GitHub.com importieren
|
|
|
|
|
|
1. Als erstes musst du einen _Personal Access Token_ in deinem GitHub Account erstellen. Öffne dafür die [Entwicklungsoptionen](https://github.com/settings/tokens) und klicke dort auf den Knopf mit der Aufschrift `Generate new token`.
|
|
|
|
|
|
![](import-from-github/01%20Generate%20Personal%20Access%20Token.png)
|
|
|
|
|
|
2. Gebe deinem neuen Token einen aussagekräftigen Namen und selektiere dann unter `Select Scopes` den Punkt `repo`. Im Anschluss schließe die Erstellung mit einen Klick auf `Generate token` ab.
|
|
|
|
|
|
![](import-from-github/02%20Select%20Scopes.png)
|
|
|
|
|
|
3. Der neu erstellte Token wird dir auf der neuen Seite präsentiert. Kopiere dir den Token und bewahre diesen sicher auf.
|
|
|
|
|
|
![](import-from-github/03%20Copy%20Token.png)
|
|
|
|
|
|
4. Im OSEG Gitlab öffne den Dialog zum Erstellen eines neuen Projekts unf klicke dort auf `Import project`
|
|
|
|
|
|
![](import-from-github/04%20New%20Project.png)
|
|
|
|
|
|
5. Im Import Dialog stehen dir verschiedene Import-Quellen zur Auswahl. In diesem Beispiel musst du `GitHub` wählen.
|
|
|
|
|
|
![](import-from-github/05%20Import%20From%20GitHub.png)
|
|
|
|
|
|
6. Im Feld `Personal Access Token` kannst du nun den neu erzeugten GitHub Token einfügen und abschließend auf `Authenticate` klicken.
|
|
|
|
|
|
![](import-from-github/06%20Insert%20Token.png)
|
|
|
|
|
|
7. War die Authentifizierung erfolgreich, dann werden dir nun all deine GitHub Projekte aufgelistet. Du kannst nach belieben auswählen welche dieser Projekte du wohin importieren möchtest.
|
|
|
|
|
|
![](import-from-github/07%20Import%20Projects.png)
|
|
|
|
|
|
|
|
|
### Projekte von GitLab.com importieren
|
|
|
|
|
|
Um Projekte von GitLab.com oder einer anderen GitLab Instanz zu importieren, muss das gewünschte Projekt als erstes exportiert und dann im OSEG GitLab importiert werden. Hier sind die benötigten Schritte:
|
|
|
|
|
|
1. Gehe zu deinem GitLab.com Projekt und wähle die Einstellungen.
|
|
|
|
|
|
![](import-from-gitlab/01%20Open%20Settings.png)
|
|
|
|
|
|
2. Scrolle herunter zu der Sektion `Advanced`, klappe diese auf und drücke auf im Bereich `Export project` auf den gleichnamigen Knopf.
|
|
|
|
|
|
![](import-from-gitlab/02%20Export%20Project.png)
|
|
|
|
|
|
3. Lade die Webseite neu und klicke auf den neu erschienen Knopf `Download export`.
|
|
|
|
|
|
![](import-from-gitlab/03%20Download%20Export.png)
|
|
|
|
|
|
4. Nachdem du nun das gewünschte Projekt exportiert hast, kannst du es nun im OSEG GitLab importieren. Hierfür wähle im Import Dialog die Option `GitLab export` (siehe oben bei Import von GitHub, Punkte 4-5).
|
|
|
|
|
|
![](import-from-gitlab/04%20Import%20Project.png)
|
|
|
|
|
|
5. Gebe einen Namen an, wähle den Zielbereich für das Projekt und wähle die Exportdatei von deinem Computer. Schließe den Import über einen Klick auf `Import project` ab.
|
|
|
|
|
|
![](import-from-gitlab/05%20Enter%20Import%20Details.png) |