Je valide sélectivement des parties d'un gros fichier et j'aimerais voir plus de contexte autour de chaque morceau. Est-ce possible?
Je valide sélectivement des parties d'un gros fichier et j'aimerais voir plus de contexte autour de chaque morceau. Est-ce possible?
Réponses:
Réponse courte: non.
git diff
a l' -U<n>
option qui vous permet de personnaliser le nombre de lignes à afficher autour d'un changement. Par exemple, git diff -U5 ...
affichera 5 lignes de contexte. Pour autant que je sache, une telle option n'est pas disponible pour l'affichage des différences en mode interactif.
git diff -U<n>
est utilisé des deux côtés de chaque ligne modifiée. Donc, si vous avez une ligne modifiée, git diff -U5
vous montrera 11 lignes (en supposant que la ligne ne soit pas au début ou à la fin du fichier.)
git diff
pas pour git add --patch
ougit add --interactive
Pour confirmer, ce n'est toujours pas possible en 2019.
Un outil externe comme jjlee/git-meld-index
peut aider:
git-meld-index
fonctionnemeld
- ou tout autre difftool git (kdiff3
,diffuse
, etc.) - pour vous permettre de changements de scène interactive à l'indice git (également connu sous le nom de la zone de mise en scène git).
Ceci est similaire à la fonctionnalité de git add -p
, et git add --interactive
.
Dans certains cas, meld est plus facile / plus rapide à utiliser que
git add -p
la fonction de mise en scène d'outils tels quegit gui
.
C'est parce que meld vous permet, par exemple, de:
- voir plus de contexte ,
- voir les diffs intra-ligne
- éditer à la main et voir les mises à jour des différences 'en direct' (mises à jour après chaque pression de touche)
- accédez à un changement sans dire `
n
` à chaque changement que vous souhaitez ignorer
-U<infinity>
option pour afficher le fichier entier? (Ou est-ce qu'un grand nombre est "assez bon"?)