RMH Git

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.

TokenBenutzername + Passwort
Einzeln widerrufbarjanein
Funktioniert mit aktivem 2FAjanein
Rechte begrenzbarja, über Scopesnein, volles Konto
Einrichtungeinmalig ~1 Minutekeine

Weg 1: Zugriffstoken empfohlen

1. Token erzeugen

  1. Oben rechts auf das Profilbild klicken → Einstellungen
  2. Im linken Menü auf Anwendungen (direkt: /user/settings/applications)
  3. Unter Neuen Token erzeugen einen Token-Namen vergeben — am besten sprechend, etwa Notebook-Phil oder Server-Backup. Der Name steht später in der Liste und macht gezieltes Widerrufen einfach.
  4. Bei den Berechtigungen repository auf Read and Write stellen. Mehr braucht ein Push nicht, alle anderen Bereiche bleiben auf No Access.
  5. 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:

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

MeldungUrsache
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.