Konzeptfrage: Warum git stashes nur local hält

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
buhtz
Beiträge: 1105
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Konzeptfrage: Warum git stashes nur local hält

Beitrag von buhtz » 01.09.2021 09:12:11

Was steckt eigentlich hinter dem Konzept, dass git die stashes nicht mit anderen repos austauschbar macht? D.h. ich kann nicht push/pull damit machen.

Der Wunsch danach scheint aber vorhanden zu sein, so das es viele workarounds dazu gibt. a) Den stash regulär commiten, auf der anderen Maschine wieder auschecken und den letzten commit löschen oder b) den stash als patch-file zwischen den Maschinen tauschen.

b) erscheint mir attraktiver. Wobei ich allerdings auch dies gerne automatisieren würde. Evtl. ein "verstecktes" tar-file im repo mit patch-files je stash? Oder ein branch der nur die patch-files enthält, oder...
Gibt es evtl. unterhalb von ".git" einen Bereich, den man für so ein Tar-File nutzen dürfte, ohne alles zu zerschießen?

Ziel ist es doch unausgegorrene Codeschnippsel bequem auszutauschen, ohne den regulären git-commit-tree (nennt man das so?) zu verunreinigen.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Konzeptfrage: Warum git stashes nur local hält

Beitrag von shoening » 01.09.2021 09:31:18

Hallo,

wenn etwas in den aktuellen Zweig nicht hineinpasst, aber trotzdem per commit/push mit anderen geteilt werden soll, wäre aus meiner Sicht ein Branch der richtige weg.

Viele Grüße
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Benutzeravatar
schorsch_76
Beiträge: 2542
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Konzeptfrage: Warum git stashes nur local hält

Beitrag von schorsch_76 » 01.09.2021 14:02:40

Da kann ich dich auf das "A successful Git branching model" hinweisen. Es funktioniert hervorragend ist mittlerweile "State of the Art".

https://nvie.com/posts/a-successful-git ... ing-model/

buhtz
Beiträge: 1105
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Re: Konzeptfrage: Warum git stashes nur local hält

Beitrag von buhtz » 02.09.2021 10:19:36

schorsch_76 hat geschrieben: ↑ zum Beitrag ↑
01.09.2021 14:02:40
Da kann ich dich auf das "A successful Git branching model" hinweisen. Es funktioniert hervorragend ist mittlerweile "State of the Art".
https://nvie.com/posts/a-successful-git ... ing-model/
Spannend. Danke sehr.
Habe mir auch das etwas einfachere GitHub Flow (aka FlowHub) Modell angeschaut.

Ist mir für ein one-man Projekt aber immer noch zu komplex. Gibt es evtl. weitere Modelle für einzelne, sozusagen nicht-professionelle (oder lieber nicht-kommerziell?) "Hobby" Entwicklende, die trotzdem ein ordentliches Release- und Bugfix-Management benötigen, weil ihr Zeug auch für GNU/Linux Distributionen paketiert wird?
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Benutzeravatar
schorsch_76
Beiträge: 2542
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Konzeptfrage: Warum git stashes nur local hält

Beitrag von schorsch_76 » 02.09.2021 10:35:39

Ich nutze eine etwas angepasste Version des genannten Workflows. Ich mache bsp. keine Release Branches. Aber master/develop hab ich immer. Die Entwicklungen passieren immer auf develop oder einem Featre Branch. Wenns es für "gut" befunden wird, gibts ein neues Release aka merge auf master und ein neues Tag. Das wird wieder nach develop gemergt. Dadurch zeigt ein "git descibe --tags" ein viel eindeutigeres "v3.8.0-1-abcde" da dann das neue Tag in der Commithistorie des develop branches auftaucht.

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Konzeptfrage: Warum git stashes nur local hält

Beitrag von Meillo » 02.09.2021 11:33:30

shoening hat geschrieben: ↑ zum Beitrag ↑
01.09.2021 09:31:18
wenn etwas in den aktuellen Zweig nicht hineinpasst, aber trotzdem per commit/push mit anderen geteilt werden soll, wäre aus meiner Sicht ein Branch der richtige weg.
Sehe ich auch so.

Jeden Stash-Eintrage kann man stattdessen auch einfach (in einen eigenen Branch) committen. Branches sind billig und koennen an jeder Stelle abgezweigt werden. Aus meiner Sicht gibt es keine Notwendigkeit, warum man Stashes pushen koennen muesste weil alles mittels Branches ebenso leicht realisiert werden kann. Oder was spricht dagegen?
Use ed once in a while!

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Konzeptfrage: Warum git stashes nur local hält

Beitrag von JTH » 02.09.2021 11:55:53

Im Zweifelsfall, wenns denn unbedingt sein muss, kann mans per gutem, altem Patch weitergeben :mrgreen:

Code: Alles auswählen

$ git stash show -p stash@{0} > my_stash.patch
$ git apply my_stash.patch
Manchmal bekannt als Just (another) Terminal Hacker.

Antworten