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.
Fonctionne dans GitTree Gratuit : toutes les fonctionnalités Git locales, une fois connecté.
Sur cette page
Avant de commencer
- Un référentiel est ouvert et comporte des modifications : la ligne
// WIPen 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
// WIPen 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….
| Action | macOS | Windows et Linux |
|---|---|---|
| Stage les fichiers sélectionnés (dans la liste des fichiers) | S | S |
| Unstage les fichiers sélectionnés (dans la liste des fichiers) | U | U |
| Prochain changement dans le différentiel | F7 | F7 |
| Modification précédente du différentiel | ⇧F7 | Shift+F7 |
| Commit | ⌘Enter | Ctrl+Enter |
Mesures
Ouvrez les modifications de travail
Sélectionnez la ligne
// WIPen 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.
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.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.
É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.

Deux lignes de InviteDialog.tsxsont sélectionnées et mises en scène ; le reste du fichier reste inchangé.Interface GitTree avec un référentiel de démonstration.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
| Contrôle | Où | Ce que ça fait |
|---|---|---|
| Stage All Changes | Au-dessus de Unstaged Files | Organise chaque fichier modifié, nouveaux fichiers inclus. |
| Stage File / Unstage File | Sur une ligne de fichier (survol), ou S et U dans la liste | Déplace le fichier entier entre les listes. |
| Stage Hunk / Unstage Hunk | Au-dessus de chaque morceau du différentiel | Met en scène ou désactive ce bloc de lignes. |
| Stage Lines / Unstage Lines | Dans la barre qui apparaît lorsque les lignes sont sélectionnées | Active ou désactive uniquement les lignes sélectionnées. Clear supprime la sélection. |
| Stage Changes to Commit | Le bouton commit, alors que rien n’est mis en scène | Organise 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.