14 — Leeres Repository und Start mit git
Wenn Sie das Repository ohne den Haken bei Repository initialisieren angelegt haben, landen Sie auf einem leeren Repository mit einer Kurzanleitung. Dieses Kapitel ist genau dieser Bildschirm.
Ihre Adressen
Oben auf der Seite eines leeren Repositories stehen zwei Adressen:
HTTPS https://forge.kabaforce.com/besitzer/projekt.git
SSH [email protected]:besitzer/projekt.git
HTTPS funktioniert mit einem Token, SSH mit einem Schlüssel (Kapitel 10). Beide führen zum selben Repository, und Sie können später wechseln.
Ein ganz neues Repository
Wenn auf Ihrem Rechner noch kein git-Repository liegt:
mkdir projekt && cd projekt
git init
git switch -c main
echo "# projekt" > readme.md
git add readme.md
git commit -m "erster Commit"
git remote add origin https://forge.kabaforce.com/besitzer/projekt.git
git push -u origin main
-u brauchen Sie nur beim ersten Push; danach genügt git push.
Ein vorhandenes lokales Repository hochladen
Enthält Ihr Ordner bereits ein .git, fangen Sie nicht neu an:
cd vorhandenes-projekt
git remote add origin https://forge.kabaforce.com/besitzer/projekt.git
git push -u origin main
Heißt Ihr Branch master, pushen Sie ihn so oder benennen ihn vorher um:
git branch -m master main
Die Remote-Adresse ändern
Nach einem Umzug oder beim Wechsel zwischen HTTPS und SSH:
git remote -v # wohin zeigt es gerade
git remote set-url origin [email protected]:besitzer/projekt.git
Warum ein initialisiertes Repository einfacher ist
Mit dem Haken bei Repository initialisieren entsteht der erste Commit samt README.md — Sie klonen und legen sofort los:
git clone https://forge.kabaforce.com/besitzer/projekt.git
Im Anlegen-Dialog gibt es außerdem eine .gitignore-Vorlage und eine Lizenz; beides lässt sich später von Hand ergänzen, vorab gewählt spart es einen Schritt.
Wenn der erste Push scheitert
| Meldung | Ursache |
|---|---|
Authentication failed | Sie haben ein Passwort eingegeben; über HTTPS braucht es ein Token (Kapitel 10) |
Permission denied (publickey) | Ihr SSH-Schlüssel liegt nicht im Konto |
src refspec main does not match any | Noch kein Commit — erst git commit |
failed to push some refs | Auf der Gegenseite gibt es Commits, die Ihnen fehlen — git pull, dann erneut |