Czy istnieje sposób na udostępnienie skrytki w git?
Pracuję na wielu maszynach i często chcę móc przenosić mój obecny stan roboczy z jednego do drugiego.
Szukam sposobu, w jaki mogę pchać / ciągnąć skrytkę z jednego klonu do drugiego i sprawić, by pojawiała się albo jako skrytka dla drugiego klonu, albo jako widoczna gałąź zdalna. Nie oczekuję jednak, że ten pierwszy będzie koniecznie działał, jeśli pilot ma już własną skrytkę.
Biorąc pod uwagę, że skrytka jest w rzeczywistości już gałęzią z zatwierdzeniami (najwyraźniej), nie szukam rozwiązań w stylu „przydziel każdą skrytkę do gałęzi, a następnie udostępnij je” - mam już wiele, wiele oddziałów. Dlatego szukam refspec lub podobnego, którego mogę użyć do kontrolowania push / pull.
git push origin $(for sha in $(git rev-list -g stash); do echo $sha:refs/heads/stash_$sha; done)
powinien zrobić dobrze dla wszystkich skrytek; Zobacz także stackoverflow.com/a/5248758/85371Nie jest tak dobrze zintegrowany,
git push
ale aby uniknąć tworzenia gałęzi, używamgit stash show -p > change.patch
(po schowaniu zmian), a nawet,git diff --cached > change.patch
aby utworzyć łatkę, którą mamgit apply change.patch
na następnej maszynie, z której pracuję.Przy takim rozwiązaniu przynajmniej jeśli wiele plików zostanie zmienionych w bieżącym stanie roboczym, wszystko jest zawarte w pojedynczej jednostce danych.
źródło
Możesz zrobić łatkę i wysłać ją komuś. musicie to zastosować.
źródło