46 votes

Comment puis-je partager une réserve git ?

Existe-t-il un moyen de partager un stash dans git ?

Je travaille sur plusieurs machines et je souhaite souvent pouvoir déplacer mon état de travail actuel d'une machine à l'autre.

Je cherche un moyen de pousser/tirer un stash d'un clone à un autre, et de le faire apparaître soit comme le stash de l'autre clone, soit comme une branche distante apparente. Je ne m'attends pas à ce que la première solution fonctionne nécessairement si la branche distante a déjà son propre stash.

Etant donné que le stash est, en fait, déjà une branche avec commits dessus (apparemment), je ne cherche pas de solutions du type "commits chaque stash à une branche et ensuite les partager" - j'ai déjà beaucoup, beaucoup, de branches. Je cherche donc la solution refspec ou similaire que je puisse utiliser pour contrôler la poussée et la traction.

31voto

James Mertz Points 390

La réserve est juste stash o refs/stash que vous pouvez pousser vers une branche distante :

git push origin stash@{2}:refs/heads/otherstash

Git refusera de pousser directement vers refs/stash Toutefois, il n'y a pas de raison de s'inquiéter. De plus, il ne semble pas y avoir de moyen de pousser des reflogs où sont stockées les réserves précédentes.

18voto

Neo Points 281

Il n'est pas aussi bien intégré qu'un git push mais pour éviter de créer des branches, j'utilise git stash show -p > change.patch (après avoir stocké les modifications) ou même git diff --cached > change.patch pour créer un patch que je git apply change.patch sur la prochaine machine à partir de laquelle je travaille.

Avec cette solution au moins, si de nombreux fichiers sont modifiés dans votre état de travail actuel, tout est contenu dans une seule unité de données.

6voto

Vous pouvez créer un patch et l'envoyer à quelqu'un. La seule chose qu'il doit faire est de l'appliquer.

git diff >> file.diff

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X