Question

Dans git, je planquer mes changements. Est-il possible que je peux créer un patch avec ce que je planquer? Et appliquer ce patch dans un autre dépôt (mon collègue)?

Je sais que git le format-patch -1 mais je pense que, pour ce que je me suis engagé. Mais je suis à la recherche de la même chose pour les changements que je planqué?

Et comment puis-je appliquer un patch dans un autre référentiel?

Était-ce utile?

La solution

Bien sûr, soutient cette git stash show :

git stash show -p

Autres conseils

Cette réponse fournit des informations à la fois sauver le patch et l'application où vous voulez l'utiliser.

Pour cacher la sortie dans un fichier:

 git stash show -p --color=never > my-patch-name.patch

Vérifier Patch semble bon:

git apply --stat my-patch-name.patch

Vérifier aucune erreur:

git apply --check my-patch-name.patch

Appliquer le patch

git apply my-patch-name.patch

Utilisez

$> git stash list
stash@{0}: WIP on master: 84fx31c Merged with change to /public/
stash@{1}: WIP on master: 463yf85 FlupResource: also takes json as a query parameter

pour obtenir une liste de vos affaires récemment planqué. Git crée en fait commettre des objets lorsque vous planquer.

Ils sont commits comme tout le reste. Vous pouvez les consulter dans une branche:

$> git checkout -b with_stash stash@{0}

Vous pouvez ensuite publier cette branche et vous collègue peut fusionner ou écrémer qui allouent.

Au-dessus de solutions ne fonctionnera pas pour les données binaires. Ce qui suit ajouter le support:

git stash show stash@{0} -p --binary

Modifier

Note: Je voulais juste ajouter un commentaire aux réponses ci-dessus, mais ma réputation ne suffit pas.

Je crois que cela pourrait être l'un des udpates de Git récemment. vous ne devez pas corriger les changements que vous planqué plus. vous pouvez simplement appliquer vos modifications planqué sur une branche à l'autre.

dire sur la branche A vous avez planqué quelques changements, appelé comme planque @ {1}.

vous passez maintenant à la branche B. vous pouvez juste faire:

$git stash apply stash@{1}

applique votre succursale A passe sur la branche B.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top