Ce qui se passe pour moi à chaque fois que j'essaie de diviser un morceau en petits mecs qui sont trop rapprochées (moins de 3 lignes entre les changements). L'explication est que le patch a des lignes de contexte qui sont en conflit avec vos changements locaux. Une explication plus détaillée ci-dessous.
Supposons que j'ai un repo git avec ces modifications non validées:
--- a/pangram
+++ b/pangram
@@ -1,8 +1,8 @@
The
-quick
+relatively quick
brown
fox
-jumps
+walks
over
the
lazy
Si je planque le premier changement, j'obtiens:
--- a/pangram
+++ b/pangram
@@ -1,5 +1,5 @@
The
-quick
+relatively quick
brown
fox
jumps
L' git stash
commande en fait de réussir à sauver le patch (vérifiez git stash list
), mais alors git utilise ce patch dans le sens inverse pour retirer le planqué des changements de mon travail dir. Le contexte après le beau gosse a des "sauts", qui ne correspond pas à la "marche" toujours dans mon travail dir. Donc git écope avec
erreur: patch failed: pangram:1
erreur: pangram: patch ne s'applique pas
Impossible de supprimer worktree changements
et les feuilles de tous les changements dans ma façon de travailler dir, et la cachette devient assez beaucoup de valeur.
Je dirais que c'est un bug dans le git du morceau de fractionnement du support. Si il sait que c'est le fractionnement des changements de trop près, il pourrait raser quelques lignes de contexte à partir du patch, ou jimmy le patch pour avoir la modification de lignes de contexte au lieu de la vierge. Alternativement, si le fractionnement mecs cette proximité est officiellement pris en charge, il doit effectivement refuser de diviser les beaux mecs qui se ferment.