Passer au contenu
GitTree
Modifications et engagements

Fichiers de scène, morceaux et lignes sélectionnées

Un commit contient uniquement ce que vous mettez en scène. Dans GitTree, vous préparez un fichier entier, un morceau de celui-ci ou simplement les lignes que vous sélectionnez dans le diff, et le reste de vos modifications reste dans le dossier de travail pour une validation ultérieure.

GratuitMis à jour

Fonctionne dans GitTree Gratuit : toutes les fonctionnalités Git locales, une fois connecté.

Sur cette page
  1. Avant de commencer
  2. Où le trouver
  3. Mesures
  4. Résultat attendu
  5. Contrôles de mise en scène
  6. Des changements mis en scène dans leur intégralité
  7. Si quelque chose ne va pas
  8. Questions
  9. En rapport

Avant de commencer

  • Un référentiel est ouvert et comporte des modifications : la ligne // WIP en haut du graphique les compte.
  • La mise en scène prépare uniquement le prochain commit. Cela ne change rien à vos fichiers et rien sur la télécommande.

Où le trouver

  • Le panneau Working Changes : sélectionnez la ligne // WIP en haut du graphique, ou View Changes dans la barre bleue au-dessus des détails du commit.
  • Le diff d'un fichier : sélectionnez le fichier dans Unstaged Files ou Staged Files ; il s'ouvre au milieu avec ses commandes de morceaux et de lignes.
  • Survolez une ligne de fichier pour Stage File, Unstage File et Discard Changes to File….
ActionmacOSWindows et Linux
Stage les fichiers sélectionnés (dans la liste des fichiers)SS
Unstage les fichiers sélectionnés (dans la liste des fichiers)UU
Prochain changement dans le différentielF7F7
Modification précédente du différentiel⇧F7Shift+F7
Commit⌘EnterCtrl+Enter

Mesures

  1. Ouvrez les modifications de travail

    Sélectionnez la ligne // WIP en haut du graphique. Le panneau Working Changes répertorie Unstaged Files et Staged Files, chacun avec un nombre, et le formulaire de validation en dessous d'eux.

    Le panneau Modifications en cours : quatre fichiers non préparés, un fichier préparé et le formulaire de validation
    1 est la ligne // WIP ; 2 les fichiers que vous avez modifiés mais que vous n'avez pas transférés ; 3 les fichiers déjà préparés pour le prochain commit.Interface GitTree avec un référentiel de démonstration.
  2. Organiser des fichiers entiers

    Passez la souris sur un fichier et choisissez Stage File, ou sélectionnez un ou plusieurs fichiers et appuyez sur S. Stage All Changes organise chaque fichier en même temps. Les fichiers préparés sont déplacés vers Staged Files ; Unstage File (ou U) recule d'un point.

  3. Étape un morceau, ou seulement les lignes que vous choisissez

    Sélectionnez un fichier pour ouvrir son diff. Chaque bloc de modifications (un morceau) a Stage Hunk. Pour réduire le niveau, cochez les cases à côté des lignes modifiées souhaitées (Maj+clic sélectionne une plage), puis choisissez Stage Lines dans la barre qui indique le nombre de lignes sélectionnées.

    Animation : la ligne WIP ouvre les modifications, le diff d'un fichier s'ouvre, deux lignes modifiées sont cochées et Stage Lines est choisi
    Deux lignes de InviteDialog.tsx sont sélectionnées et mises en scène ; le reste du fichier reste inchangé.Interface GitTree avec un référentiel de démonstration.
  4. Vérifiez ce qui sera engagé

    Sélectionnez le fichier sous Staged Files : sa différence affiche désormais uniquement ce que vous avez mis en scène, avec Unstage Hunk et Unstage Lines pour en reprendre une partie. Le bouton de validation indique le nombre de fichiers qu'il va valider.

Résultat attendu

Le fichier peut apparaître dans les deux listes : les lignes que vous avez placées sous Staged Files, le reste sous Unstaged Files. Votre fichier sur le disque contient toujours toutes les modifications.

Lorsque vous effectuez une validation, seule la partie intermédiaire est incluse dans la validation. Pour continuer, écrivez et créez le commit.

Contrôles de mise en scène

Où se situe chaque action de mise en scène
ContrôleOùCe que ça fait
Stage All ChangesAu-dessus de Unstaged FilesOrganise chaque fichier modifié, nouveaux fichiers inclus.
Stage File / Unstage FileSur une ligne de fichier (survol), ou S et U dans la listeDéplace le fichier entier entre les listes.
Stage Hunk / Unstage HunkAu-dessus de chaque morceau du différentielMet en scène ou désactive ce bloc de lignes.
Stage Lines / Unstage LinesDans la barre qui apparaît lorsque les lignes sont sélectionnéesActive ou désactive uniquement les lignes sélectionnées. Clear supprime la sélection.
Stage Changes to CommitLe bouton commit, alors que rien n’est mis en scèneOrganise d'abord chaque modification, puis vous permet de vous engager.

Des changements mis en scène dans leur intégralité

Certaines modifications n'ont pas de lignes à sélectionner, donc GitTree propose uniquement l'action au niveau du fichier : fichiers binaires, renommage et copie, pointeurs Git LFS, modifications de sous-module et changement de mode de fichier (organisé avec le contenu).

Si vous masquez les espaces dans le diff et que le fichier comporte uniquement des modifications d'espaces, les lignes ne peuvent pas être sélectionnées : choisissez d'abord Show Whitespace ou préparez l'intégralité du fichier.

Si quelque chose ne va pas

Le bouton de validation indique Stage Changes to Commit

Rien n'est encore mis en scène. Mettez en scène les fichiers, morceaux ou lignes que vous souhaitez, ou choisissez le bouton pour tout mettre en scène avant de valider.

"La différence a changé depuis qu'elle a été affichée"

Le fichier a changé sur le disque (un éditeur l'a enregistré) après l'apparition de la différence, donc GitTree a refusé d'effectuer une sélection qui ne correspond plus. Regardez le diff actualisé et choisissez à nouveau les lignes.

J'ai supprimé des lignes par erreur

Discard Lines et Discard Hunk enregistrent d'abord un instantané de récupération. Choisissez Undo dans la barre d'outils (Ctrl+Z, ⌘Z sur un Mac) pour les ramener (Annuler et Rétablir).

Questions

Est-ce la même chose que git add -p ?

Il fait le même travail : il place une partie d'un fichier dans l'index. Au lieu de répondre aux invites morceau par morceau, vous voyez toute la différence et cochez les lignes souhaitées.

Les lignes sélectionnées doivent-elles être côte à côte ?

Non. Cochez toutes les lignes modifiées dans le fichier, en un ou plusieurs morceaux, et mettez-les en scène ensemble.