Comment puis-je valider certaines modifications dans un fichier, mais pas d'autres, dans VSCode?

139

VSCode a une excellente intégration git mais je ne trouve pas de moyen de faire des commits partiels. Fondamentalement, je veux pouvoir sélectionner des modifications spécifiques dans mes fichiers et les mettre en scène sans mettre en place le fichier entier. Cette fonctionnalité est prise en charge par l'interface de ligne de commande git, les applications natives Github et les plugins Atom.

Assurez-vous surtout que je ne manque pas quelque chose avant d'ouvrir un ticket pour cela.

Rayne
la source

Réponses:

212
  • Ouvrez la vue Contrôle de code source, puis cliquez sur un fichier modifié pour ouvrir la comparaison.

  • Sélectionnez les lignes que vous souhaitez mettre en scène.

  • Cliquez ensuite sur '...' Stage Selected Ranges.

entrez la description de l'image ici

Benjamin Pasero
la source
45
Juste au cas où quelqu'un d'autre serait confus comme je l'ai fait: cette capture d'écran fait référence au ···coin supérieur droit de l'éditeur, pas ···à celui en haut du panneau git à gauche.
waldyrious
4
Si cela vous renvoie une erreur " Git: Valeur illégale pourline ", cela a été signalé plusieurs fois sur GitHub, mais n'est toujours pas corrigé. Dans ce cas, activez simplement "Vue en ligne" et cela fonctionnera. Source
Marc 2377
2
Comme mentionné par @Dimitris, cette commande est également dans la palette de commandes, vous n'avez donc pas besoin d'être en vue Contrôle de code source.
eatcrayons
2
Attention, cela met en scène des lignes entières, si vous voulez mettre en scène des parties d'une ligne, je suppose que c'est de retour get add -iet de montage interactif ...
Zarepheth
97

⚡ Résumez tout dans cet article avec un gif.

  1. Assurez-vous que vous êtes dans la vue de contrôle de source pour utiliser cette fonctionnalité
  2. Sélectionnez la plage de code
  3. Ouvrir ···dans le coin supérieur droit de l'éditeur (pas ···dans le coin supérieur droit du panneau git à gauche)
  4. Vous pouvez également appuyer sur COMMAND (⌘)+ K+ COMMAND (⌘)+ Spour ouvrir les raccourcis clavier et rechercher rangepuis définir un raccourci clavier pour cette action.

VSCode Range Select Commit

Paix! ✌️

Ahmad Awais
la source
difficile de sélectionner les lignes supprimées
duXing le
45

Mise à jour: octobre 2017: dans le dernier VSCode d'octobre 2017 (version 1.18), vous pouvez en fait mettre en scène des lignes spécifiques très facilement, comme vous le feriez avec la CLI git git add -p. Il vous suffit de cliquer sur la ligne éditée par le côté, de regarder le diff et de l'appliquer ou non.

Afficher les modifications en attente et effectuer des validations partielles dans l'éditeur

Konstantinos Leimonis
la source
5
Il manque cependant deux choses ... Vous ne pouvez pas diviser les morceaux et vous ne pouvez pas modifier manuellement les morceaux ... :(
Robert Koritnik
12

Cette option a été déplacée dans la palette:

Maj + commande + P et tapez "plages sélectionnées d'étape"

Dimitris
la source
ne semble pas fonctionner en mode vim.
baxx
@baxx Pourquoi vous attendez-vous à cela?
tejasvi88 du
@ tejasvi88 pourquoi pas?
baxx