Repository anlegen und pushen
Zwei Wege führen zum Ziel. Ein Zugriffstoken ist der empfohlene Weg — es lässt sich einzeln zurückziehen, ohne das Kontopasswort zu ändern, und funktioniert auch dann noch, wenn später Zwei-Faktor-Anmeldung aktiviert wird.
| Token | Benutzername + Passwort | |
|---|---|---|
| Einzeln widerrufbar | ja | nein |
| Funktioniert mit aktivem 2FA | ja | nein |
| Rechte begrenzbar | ja, über Scopes | nein, volles Konto |
| Einrichtung | einmalig ~1 Minute | keine |
Weg 1: Zugriffstoken empfohlen
1. Token erzeugen
- Oben rechts auf das Profilbild klicken → Einstellungen
- Im linken Menü auf Anwendungen (direkt: /user/settings/applications)
- Unter Neuen Token erzeugen einen
Token-Namen vergeben — am besten sprechend, etwa
Notebook-PhiloderServer-Backup. Der Name steht später in der Liste und macht gezieltes Widerrufen einfach. - Bei den Berechtigungen
repositoryauf Read and Write stellen. Mehr braucht ein Push nicht, alle anderen Bereiche bleiben aufNo Access. - Auf Token generieren klicken.
Das Token wird genau einmal angezeigt. Wer es nicht sofort sichert, muss ein neues erzeugen — nachträglich auslesen geht nicht, gespeichert ist nur ein Hash.
2. Neues Repository anlegen
Über + oben rechts → Neues Repository. Die Startseite des leeren Repos zeigt danach die passenden Befehle.
3. Pushen
touch README.md
git init
git checkout -b main
git add README.md
git commit -m "first commit"
git remote add origin https://git.rmh-systeme.de/<BESITZER>/<REPO>.git
git push -u origin main
Beim Push fragt git nach Zugangsdaten:
- Username: der eigene Benutzername
- Password: das Token — nicht das Kontopasswort
4. Damit git nicht jedes Mal fragt
Drei Möglichkeiten, absteigend nach Sicherheit.
a) Systemschlüsselbund — die sauberste Variante, das Token liegt verschlüsselt im Schlüsselbund des Betriebssystems:
# Windows (Git for Windows bringt den Manager mit)
git config --global credential.helper manager
# macOS
git config --global credential.helper osxkeychain
# Linux mit GNOME
sudo apt install libsecret-1-0 git-credential-libsecret
git config --global credential.helper /usr/lib/git-core/git-credential-libsecret
b) Datei mit eingeschränkten Rechten — einfach, aber das Token liegt im Klartext auf der Platte:
git config --global credential.helper store
chmod 600 ~/.git-credentials # nach dem ersten Push
c) Für Skripte und Server — Token in einer eigenen
Datei, gereicht über GIT_ASKPASS. So landet es weder in der
Prozessliste noch in .git/config:
umask 077
printf '%s' 'DEIN_TOKEN' > ~/.git-token
cat > ~/.git-askpass <<'EOF'
#!/bin/sh
cat ~/.git-token
EOF
chmod 700 ~/.git-askpass
GIT_ASKPASS=~/.git-askpass git push -u origin main
Nicht empfohlen: das Token direkt in die Remote-URL
schreiben (https://TOKEN@git.rmh-systeme.de/…). Es landet
dann dauerhaft unverschlüsselt in .git/config und wird bei
jedem git remote -v mit angezeigt.
Token widerrufen
Unter Einstellungen → Anwendungen hat jede Token-Zeile einen Löschen-Knopf. Ab dem Moment schlägt jeder Push damit fehl — alle anderen Token und das Kontopasswort bleiben unberührt.
Weg 2: Benutzername und Passwort
Funktioniert ohne Vorbereitung — beim Push die normalen Anmeldedaten eingeben:
git remote add origin https://git.rmh-systeme.de/<BESITZER>/<REPO>.git
git push -u origin main
# Username: dein-benutzername
# Password: dein-kontopasswort
Wer das Passwort nicht jedes Mal tippen will, nutzt dieselben Credential-Helper wie oben unter Punkt 4.
Wann dieser Weg nicht mehr funktioniert
Sobald für das Konto Zwei-Faktor-Anmeldung aktiviert ist, wird der Push mit Passwort abgelehnt — git kann den zweiten Faktor nicht abfragen. Dann führt kein Weg mehr am Token vorbei. Genau deshalb ist Weg 1 die bessere Wahl, auch wenn 2FA gerade noch nicht aktiv ist.
Dazu kommt: Das Passwort gilt für das gesamte Konto. Wer es auf mehreren Rechnern hinterlegt, muss im Verdachtsfall überall gleichzeitig nachziehen — ein Token zieht man einzeln zurück.
Wenn es klemmt
| Meldung | Ursache |
|---|---|
Repository not found |
Anmeldung war erfolgreich, aber der Pfad stimmt nicht oder das Konto hat keinen Zugriff. Besitzer und Repo-Namen prüfen. |
Authentication failed |
Benutzername oder Token/Passwort falsch. Bei Token: wurde es vielleicht widerrufen? |
403 Forbidden beim Push |
Token hat keinen Schreibzugriff — Scope muss
repository: Read and Write sein. |
| Passwortabfrage in Schleife | Ein Credential-Helper hat veraltete Daten gespeichert:
git credential reject oder den Eintrag im
Schlüsselbund löschen. |
could not read Username |
Nicht-interaktive Umgebung ohne GIT_ASKPASS.
Siehe Punkt 4c. |