Existe uma maneira de compartilhar um esconderijo no git?
Eu trabalho em várias máquinas e muitas vezes quero poder mover meu estado de trabalho atual de uma para outra.
Estou procurando uma maneira de empurrar / puxar um estoque de um clone para outro e fazer com que ele apareça como o estoque do outro clone ou como um aparente ramo remoto. Não estou esperando que o primeiro funcione necessariamente se o controle remoto já tiver seu próprio estoque.
Dado que o stash já é, de fato, um ramo com commit (aparentemente), não estou procurando soluções ao longo das linhas "submeta cada stash a um ramo e depois as compartilhe" - eu já tenho muitas, muitos galhos. Portanto, estou procurando o refspec ou similar que eu possa usar para controlar o push / pull.
git push origin $(for sha in $(git rev-list -g stash); do echo $sha:refs/heads/stash_$sha; done)
deve ser bom para todos os esconderijos; Veja também stackoverflow.com/a/5248758/85371Não é tão integrado como isso,
git push
mas para evitar a criação de ramificações, eu usogit stash show -p > change.patch
(depois de ocultar as alterações) ou até mesmogit diff --cached > change.patch
para criar um patch no qual eu trabalhogit apply change.patch
na próxima máquina.Com esta solução, pelo menos, se muitos arquivos forem alterados no seu estado atual de trabalho, tudo estará contido em uma única unidade de dados.
fonte
Você pode fazer o patch e enviá-lo para alguém. o que eles precisam fazer é aplicá-lo.
fonte