Intelligente Lösungen
in neuer Dimension

Git - Offline-Arbeit

Manchmal kann Github lästig sein: Ich habe ein neues Laptop, arbeite an einem meiner öffentlichen Projekte und stelle dann fest, dass mir der Zweitfaktor für den Github-Login “fehlt”. Dadurch kann ich meine Änderungen nicht “veröffentlichen” (git push). Was nun?

Sichern und Versenden via Mail

Auf meinem neuen Laptop kann ich die noch nicht veröffentlichten Änderungen mit dem nachfolgenden Kommando in eine Datei sichern:

1
git format-patch -k --stdout origin/main..HEAD >uli-20240405.diff

Die Datei “uli-2024-04-05.diff” kann ich auch noch komprimieren, falls sie zu groß ist. Danach per Mail oder sonst irgendwie auf einen Rechner übertragen, der den Zweitfaktor “kennt”.

Empfangen und Anwenden

Auf meinem Arbeitsplatzrechner kann ich mit der zuvor erzeugten Datei die Änderungen anwenden und veröffentlichen:

1
2
3
4
git checkout main
git pull --rebase
git am <uli-20240405.diff
git push

Funktioniert soweit tadellos!

Github-Repo erneut abgleichen

Mit den Aktionen auf dem Arbeitsplatzrechner ist das öffentliche Github-Repo leicht verschieden vom Stand auf dem neuen Laptop. Dieser muß neu abgeglichen werden:

1
2
3
4
5
6
7
8
9
10
11
12
uli@desktop:github-project$ git pull --rebase
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 3 (delta 2), reused 3 (delta 2), pack-reused 0
Entpacke Objekte: 100% (3/3), 1.01 KiB | 1.01 MiB/s, fertig.
Von https://github.com/uli-heller/static-markdown-publisher
   1fce0db..6c3fd32  main       -> origin/main
Warnung: zuvor angewendeten Commit 64b00db übersprungen
Hinweis: verwenden Sie --reapply-cherry-picks, um übersprungene Commits einzubeziehen
Hinweis: Disable this message with "git config advice.skippedCherryPicks false"
Erfolgreich Rebase ausgeführt und refs/heads/main aktualisiert.

Funktioniert auch problemlos!

Historie

  • 2024-04-05: Erste Version