Gibt es eine Möglichkeit, einen Stash in git zu teilen?
Ich arbeite an mehreren Maschinen und möchte oft meinen aktuellen Arbeitszustand von einer zur anderen verschieben können.
Ich suche nach einer Möglichkeit, einen Stash von einem Klon zu einem anderen zu verschieben / zu ziehen und ihn entweder als Stash für den anderen Klon oder als scheinbaren Remote-Zweig anzuzeigen. Ich erwarte nicht, dass Ersteres unbedingt funktionieren wird, wenn die Fernbedienung jedoch bereits über einen eigenen Stash verfügt.
Angesichts der Tatsache, dass Stash (anscheinend) bereits ein Zweig mit Commits ist, suche ich nicht nach Lösungen im Sinne von "Commit jedes Stashs für einen Zweig und teile diese dann" - ich habe bereits viele, viele Zweige. Ich bin daher auf der Suche nach dem refspec oder ähnlichem, mit dem ich das Drücken / Ziehen steuern kann.
git push origin $(for sha in $(git rev-list -g stash); do echo $sha:refs/heads/stash_$sha; done)
sollte gut für alle Verstecke tun; Siehe auch stackoverflow.com/a/5248758/85371Es ist nicht so gut integriert wie ein,
git push
aber um das Erstellen von Zweigen zu vermeiden, verwende ichgit stash show -p > change.patch
(nach dem Speichern der Änderungen) odergit diff --cached > change.patch
erstelle sogar einen Patch, von dem aus ichgit apply change.patch
auf dem nächsten Computer arbeite.Mit dieser Lösung ist zumindest dann, wenn viele Dateien in Ihrem aktuellen Arbeitszustand geändert wurden, alles in einer einzigen Dateneinheit enthalten.
quelle
Sie können einen Patch erstellen und an jemanden senden. Sie müssen es nur anwenden.
quelle