Existe-t-il un moyen de partager une cachette dans git?
Je travaille sur un certain nombre de machines et souhaite souvent pouvoir déplacer mon état de fonctionnement actuel de l'un à l'autre.
Je cherche un moyen de pousser / tirer une cachette d'un clone à un autre et de la faire apparaître soit comme la cachette de l'autre clone, soit comme une branche distante apparente. Je ne m'attends pas à ce que le premier fonctionne nécessairement si la télécommande a déjà sa propre réserve.
Étant donné que la cachette est, en fait, déjà une branche avec des validations (apparemment), je ne cherche pas de solutions du type "valider chaque cachette dans une branche et ensuite les partager" - j'en ai déjà beaucoup, de nombreuses branches. Je recherche donc la refspec ou similaire que je peux utiliser pour contrôler le push / pulling.
git push origin $(for sha in $(git rev-list -g stash); do echo $sha:refs/heads/stash_$sha; done)
devrait bien faire pour toutes les cachettes; Voir aussi stackoverflow.com/a/5248758/85371Ce n'est pas aussi bien intégré qu'un
git push
mais pour éviter de créer des branches, j'utilisegit stash show -p > change.patch
(après avoir caché les modifications) ou mêmegit diff --cached > change.patch
pour créer un patch que jegit apply change.patch
sur la prochaine machine sur laquelle je travaille.Avec cette solution au moins, si de nombreux fichiers sont modifiés dans votre état de fonctionnement actuel, tout est contenu dans une seule unité de données.
la source
Vous pouvez créer un patch et l'envoyer à quelqu'un. la chose que vous avez à faire est de l'appliquer.
la source