69 lines
3.7 KiB
Markdown
69 lines
3.7 KiB
Markdown
Bei dem Error `fatal: refusing to merge unrelated histories` den Befehl `git pull origin master --allow-unrelated-histories` verwenden und das Problem ist gelöst.
|
|
|
|
### [Michis Git Verstäännis](./michi_git.md "Git isz doof")
|
|
|
|
### [YT Tutorial](https://youtube.com/playlist?list=PLNmsVeXQZj7rbmmqb1Lt_RGU4DEhelTrR&si=U-ldkXilfRgSsBYn)
|
|
|
|
### Der Reponame "main" ist voreingestellt, es gehen auch andere.
|
|
|
|
Am Beispiel dieses Readme.md:
|
|
|
|
```
|
|
git checkout -b main
|
|
git add README.md
|
|
git commit -m "first commit"
|
|
git remote add origin git@teapot.informationsanarchistik.de:Wobbl/tipps_und_tricks.git
|
|
git push -u origin main
|
|
```
|
|
ॐ wn@magma:~/python/tipps_und_tricks→git:(main) vi README.md
|
|
ॐ wn@magma:~/python/tipps_und_tricks→git:(main)
|
|
ॐ wn@magma:~/python/tipps_und_tricks→git:(main) ✗ git push -u origin main
|
|
Branch 'main' folgt nun Remote-Branch 'main' von 'origin'.
|
|
Everything up-to-date
|
|
ॐ wn@magma:~/python/tipps_und_tricks→git:(main) ✗ git commit README.md
|
|
[main a0d4d5c] geändert: README.md
|
|
1 file changed, 11 insertions(+), 1 deletion(-)
|
|
ॐ wn@magma:~/python/tipps_und_tricks→git:(main) git push -u origin main
|
|
>> Objekte aufzählen: 5, fertig.
|
|
Zähle Objekte: 100% (5/5), fertig.
|
|
Delta-Kompression verwendet bis zu 4 Threads.
|
|
Komprimiere Objekte: 100% (2/2), fertig.
|
|
Schreibe Objekte: 100% (3/3), 535 Bytes | 535.00 KiB/s, fertig.
|
|
Gesamt 3 (Delta 0), Wiederverwendet 0 (Delta 0), Pack wiederverwendet 0
|
|
remote: . Processing 1 references
|
|
remote: Processed 1 references in total
|
|
To teapot.informationsanarchistik.de:Wobbl/tipps_und_tricks.git
|
|
83c741e..a0d4d5c main -> main
|
|
Branch 'main' folgt nun Remote-Branch 'main' von 'origin'.
|
|
|
|
# ssh
|
|
|
|
Ein Zugriff auf den Teetopf über https ist komplexer und unsicherer als über **ssh**
|
|
ssh ist ein unverzichtbare universelles "Schweizermesser" für professionelles und sicheres Arbeiten im Netz.
|
|
Um _forgejo_ auf teapot mit ssh zu bedienen, muss mensch einen zweiteiligen Schlüssel generieren.
|
|
Das vom Server bevorzugte, weil am schwersten zu knackende Verschlüsselungssystem ist ed25519.
|
|
Einfach zu erzeugen:
|
|
```
|
|
ssh-keygen -t ed25519
|
|
```
|
|
Das zum Entsperren des Schlüssels notwendige lokale Passwort sollte böse und gemein sein, sonst ist die Übung im Falle eines geklauten Rechners fürn A...
|
|
Je nach verwendetem Desktopsystem bietet Linus natürlich an, sich die Passphrase wegzuspeichern.
|
|
Um damit das remote System zu bedienen, muss der öffentliche Teil des Schlüssels dort abgelegt werden. Lokal ist das zumeist die Datei
|
|
```
|
|
~/.ssh/id_ed25519.pub
|
|
```
|
|
Die klappste in die Zwischenablage und bunkerst sie in deinem Profil im _forgejo_
|
|
**Auf keinen Fall den privaten Schlüssel hochladen oder überhaupt jemals irgendwo durch irgendwelche Leitungen schicken!**
|
|
Sollte das versehentlich passiert sein, kannste den Schlüssel löschen und nen neuen anlegen.
|
|
Der Publickey darf im Fernsehen gesendet werden, das schadet nix.
|
|
|
|
Eine prima Seite mit Infos zu git und ssh schrieb der Patrick Asmus, klixdu hier: [SSH-Keys für gitea](https://www.media-techport.de/2023/08/howto-ssh-schluessel-fuer-gitea-einfache-einrichtung/ "HP Patrick Asmus")
|
|
|
|
Wenn alles passt, kannst du mit der Befehlsverbindung **&&**, was soviel bedeutet wie "If Exitcode=OK then" die nötigen Kommandos zusammenfassen:
|
|
```
|
|
vi README.md && git commit -m "Mein Kommentar" README.md && git push -u origin main
|
|
```
|
|
|
|
und du hast die aktuelle Version im lokalen und im entfernten Repo.
|
|
Das funktioniert nicht bei nicht eigenen Repos, wenn die auf "privat" geschaltet sind.
|
|
|