Leçon 5 · Fondations
Organisez l'instantané souhaité et effectuez votre premier commit
Créez le README et la page héros du projet dans GitTree, sélectionnez ce qui appartient à la première validation et laissez délibérément une modification ultérieure non validée. Prouvez ce qui a été enregistré au lieu de juger du succès par une seule notification.
- Niveau: Débutant
- 18 minutes de lecture
- 7 minutes de vidéo
- Mis à jour
- Avant cette leçon: Prédisez ce que contiendra votre prochain commit, Créez votre référentiel de cours, puis distinguez cloner et ouvrir
Progression enregistrée dans ce navigateur.
La lecture charge la vidéo depuis YouTube (mode de confidentialité amélioré).
Ce que vous apprendrez
- Créez et enregistrez les deux premiers fichiers de projet dans GitTree.
- Mettre en scène et annuler la mise en scène sans confondre l'une ou l'autre opération avec la suppression d'un fichier de travail.
- Comparez l'index avec l'arborescence de travail avant de valider.
- Rédigez un résumé utile et validez uniquement l’instantané préparé.
- Vérifiez les fichiers du premier commit, son identité et les modifications de travail restantes.
Avant de commencer
Commencez là où se termine la leçon 4. Le original gittree-features est un référentiel ordinaire sur main à naître, sans validations, fichiers de projet ou télécommandes. Son identité locale est GitTree Demo / demo@example.com. Ne continuez pas dans le gittree-features-copy supplémentaire de la leçon 4.
Le minimum inspecté de GitTree est Git 2.39.0. La vidéo a été enregistrée avec Git 2.52.0 et GitTree 2.0 sur Ubuntu 24.04 : les deux fichiers, leur transfert et le premier commit ont été effectués dans l'application elle-même, et les vérifications du terminal ont été effectuées par rapport à ce que l'application a créé ou par rapport à des copies distinctes du projet dans les états A, B et C, de sorte que l'original n'a jamais été relu. Rien n'a été exécuté sur macOS ou Windows, et Ubuntu est le seul système Linux enregistré ; Les accords de touche de commande et Windows proviennent de la source du keymap.
Native Git n'a besoin d'aucun compte pour un commit local. Dans GitTree, connectez-vous et le forfait gratuit couvre cette leçon. Aucun fournisseur, Pro/essai, rédaction d'IA, clé API, exécuteur CI ou environnement cloud n'est requis. N'ajoutez pas de télécommande pour effectuer une validation locale.
Concept : sélectionner les contenus, puis les enregistrer
Un commit ne consiste pas à « sauvegarder tout ce qui est visible ». Dans cette leçon, un commit normal enregistre le index : l'instantané complet sélectionné. Il crée un commit racine et y met l'accent. Cela ne pousse nulle part.
L'enregistrement dans l'éditeur met à jour le working tree. La mise en scène met à jour l'index à partir du fichier de travail choisi. La suppression modifie la sélection de l'index ; il ne s'agit pas d'un rejet et ne supprime pas le fichier de travail dans notre exercice. Avant la première validation, il n'y a pas de version validée antérieure à restaurer, donc un nouveau fichier non préparé n'est plus suivi.
Une édition préparée est une analogie utile : vous pouvez réviser votre brouillon de travail après avoir préparé une édition, puis publier l'édition préparée localement sans inclure le brouillon le plus récent. La mise en scène n'est pas un abonnement en direct aux modifications ultérieures. Git's add reference documente cette sélection ; la référence de validation distingue les validations d'index ordinaires des autres modes.
Nous utilisons no -a, des arguments de chemin de validation explicites, des modifications, des validations vides ou des étapes automatiques. L'index est une description complète de l'arbre suivant, pas seulement une liste de noms modifiés.
| État | Index de travail.html | Index index.html | TÊTE/principal | À distance |
|---|---|---|---|---|
| A : fichiers initiaux enregistrés | HTML-01 | Absent | À naître | Aucun |
| B : les deux dossiers mis en scène | HTML-01 | HTML-01 | À naître | Aucun |
| C : ligne de support modifiée après la mise en scène | HTML-01-TRAVAIL | HTML-01 | À naître | Aucun |
| D : le commit ordinaire réussit | HTML-01-TRAVAIL | HTML-01 | Le premier commit contient du HTML-01 | Aucun |
README-01 est également mis en scène et engagé. Après D, README est propre ; index.html reste intentionnellement modifié uniquement dans l'arborescence de travail. Le graphique peut avoir un nouveau commit alors que le statut n'est pas propre.
Dossiers de projet complets
Utilisez UTF-8, LF et une dernière nouvelle ligne. N'incluez pas les clôtures Markdown dans les fichiers enregistrés. Il n’existe pas encore de suite package.json, CSS, JS ou Node exécutable ; ceux-ci arrivent dans la leçon 6.
README.md — README-01
# GitTree Features
A fictional landing page used to learn Git and GitTree.
All people and addresses in this repository are fictional.
No form submits information to a server.index.html — HTML-01, avant la mise en scène
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>GitTree Features — course demo</title>
</head>
<body>
<header class="site-header">
<a href="#main">GitTree Features</a>
</header>
<main id="main">
<section class="hero" aria-labelledby="hero-title">
<p class="eyebrow">GitTree Learn demo project</p>
<h1 id="hero-title">Understand every change.</h1>
<p id="hero-copy">A clear view of Git history.</p>
</section>
</main>
<footer><p>Built by a fictional team for GitTree Learn.</p></footer>
</body>
</html>index.html — HTML-01-WORKING, seulement après la mise en scène
Remplacez le fichier de travail enregistré par ce corps complet after la version précédente est entrée dans l'index :
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>GitTree Features — course demo</title>
</head>
<body>
<header class="site-header">
<a href="#main">GitTree Features</a>
</header>
<main id="main">
<section class="hero" aria-labelledby="hero-title">
<p class="eyebrow">GitTree Learn demo project</p>
<h1 id="hero-title">Understand every change.</h1>
<p id="hero-copy">Choose one change, then check what Git saved.</p>
</section>
</main>
<footer><p>Built by a fictional team for GitTree Learn.</p></footer>
</body>
</html>Le seul remplacement prévu est la ligne de support de copie de héros. Ne modifiez pas le titre principal ni aucun autre octet.
Dans GitTree
1. Créez et enregistrez les deux fichiers initiaux
- Confirmez le nom et le contexte principal du référentiel d'origine. Ouvrez Command Palette…, Command+Shift+P / Ctrl+Shift+P, tapez New File… et sélectionnez cette commande exacte (
files.newFile). Sans argument de dossier, il démarre à la racine du projet. - Dans New File, définissez Path from the project folder sur
README.md, puis choisissez Create. Attendez-vous à ce que le nouveau fichier de travail s'ouvre dans l'espace de travail des fichiers. La création refuse un chemin existant plutôt que de l'écraser. - Concentrez la zone de contenu modifiable, collez le corps complet du README-01, puis choisissez Save. Alternative : Command+S / Ctrl+S pendant que l'éditeur de travail a le focus. Attendez-vous à ce que l'indicateur Unsaved changes s'efface après le succès de la sauvegarde.
- Répétez New File… → chemin
index.html→ Create. Collez le HTML-01 complet, pas la variante de travail ultérieure. Enregistrez et attendez que l’indicateur non enregistré disparaisse. - Choisissez Back to Graph dans la barre d'outils du fichier ou la commande de la palette Back to Graph (
view.returnToGraph). Utilisez ensuite la palette Show Working Changes (wip.show). Attendez-vous à README.md et index.html sous Unstaged Files, sans rien sous Staged Files. - Notez Stage Changes to Commit s'il s'agit du bouton de composition principal alors que rien n'est préparé. Ses étapes d'action définies par la source all modifications de travail ; cela ne signifie pas déjà un commit réussi. Nous utilisons plutôt une mise en scène délibérée par fichier.
L'enregistrement d'un tampon d'éditeur n'est pas une mise en scène. Voir un fichier dans un onglet ne prouve pas que son dernier tampon a atteint le disque.
2. Mettez en scène, supprimez la mise en scène en toute sécurité, puis préparez les deux fichiers
- Pour README.md sous Unstaged Files, utilisez son action de ligne Stage File. Alternative au clavier : sélectionnez uniquement cette ligne, restez concentré sur la liste non mise en scène et appuyez sur S ; la commande de la palette est Stage (
wip.stageSelected). Attendez-vous à README.md sous Staged Files. - Pour cette ligne README sous Staged Files, choisissez Unstage File. Alternative au clavier : sélectionnez-le uniquement, restez concentré sur la liste par étapes et appuyez sur U ; commande de palette Unstage (
wip.unstageSelected). Attendez-vous à ce que README.md revienne aux fichiers non mis en scène. Son contenu de travail reste intact. - Lancez à nouveau README.md, puis lancez index.html avec son action Stage File. Attendez-vous à exactement two chemins de fichiers intermédiaires.
- Cliquez sur chaque ligne intermédiaire pour inspecter son ajout complet. index.html doit toujours contenir A clear view of Git history. Ne déduisez pas le contenu à partir du seul nombre de fichiers.
Les raccourcis à une seule lettre sont limités à leurs listes, et non à une demande de saisie de S/U dans un éditeur ou un résumé. Aucun comportement de transfert par glisser-déposer n'est supposé.
3. Enregistrez une modification ultérieure sans la mettre en scène
- Ouvrez Show Files (
files.focus), Command+Shift+E / Ctrl+Shift+E. Focus surindex.htmldans l'arborescence Fichiers et appuyez sur Enter pour ouvrir sa copie de travail. Alternative : cliquez sur son onglet de fichier de travail enregistré existant. Travaillez dans la vue modifiable File, et non dans un blob historique ou une différence par étapes. - Remplacez l'intégralité de son contenu par HTML-01-WORKING ci-dessus. Enregistrez via Save ou Commande/Ctrl+S. Attendez le succès réel de la sauvegarde du disque.
- Revenez via Back to Graph, puis Show Working Changes. index.html apparaît désormais dans les listes both. Cliquez sur sa ligne Fichiers non préparés : le diff affiche le remplacement ultérieur de la ligne de support.
- Cliquez sur sa ligne Staged Files : l'ajout de la première validation contient toujours la ligne de support précédente. Faites not choisissez Stage File pour cette nouvelle modification de travail ou Stage All Changes maintenant. Cela changerait le commit que vous préparez.
4. Écrivez le message et validez l'index
- Dans le champ compositeur Summary (espace réservé Commit summary), saisissez exactement
feat: add the GitTree Features hero. Laissez Description vide. Ce résumé indique ce qui a changé ; il ne promet pas un site terminé ou une suite de tests réussie. - Gardez Amend Previous Commit éteint. Développez Commit Options et vérifiez que Skip Hooks (--no-verify), Add Signed-off-by, Different Author, Push After Commit et Allow Empty Commit sont tous désactivés. N'ajoutez pas de co-auteurs et n'invoquez pas la rédaction IA.
- Revoyez une dernière fois les deux chemins par étapes et la ligne de héros préparée précédemment. Choisissez Commit Changes to 2 Files. Alternative au clavier : Command+Enter / Ctrl+Enter, acheminé via la commande de palette Commit (
commit.submit), uniquement après avoir confirmé le référentiel actif et l'état en attente. - Attendez le résultat réel de Git. Un résultat réussi fait référence à un SHA mesuré ; ne copiez pas un SHA fabriqué à partir d’un diagramme. Attendez-vous à un premier commit de graphique sur main. Dans ce cas de soumission inchangée, le brouillon du message est effacé après succès.
- Inspectez les listes post-commit : rien ne reste mis en scène ; index.html reste sous Fichiers non mis en scène avec la dernière ligne. Faites not cliquez sur Stage Changes to Commit pour « terminer » ce résultat intentionnel.
Le nombre de fichiers affichés correspond à deux chemins intermédiaires, et non à trois lignes réparties sur deux listes. Push After Commit est un choix de suivi distinct ; il est éteint et il n'y a pas de télécommande.
Dans la borne
Exécutez dans <course-parent>/gittree-features, en remplaçant l'espace réservé par votre parent réel réservé. Si vous avez déjà effectué une mutation d'application, inspect its resulting state ; ne rejouez pas la mutation équivalente et avancez accidentellement au-delà du point de contrôle.
Fichiers enregistrés, avant la mise en scène
git status --shortObservé :
?? README.md
?? index.htmlEssayer intentionnellement un commit normal sans contenu intermédiaire :
git commit --quiet -m "feat: add the GitTree Features hero"Sortie standard observée avec la sortie 1, pas de stderr :
On branch main
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.md
index.html
nothing added to commit but untracked files present (use "git add" to track)Aucun commit n'a été créé. Ce cas négatif explique pourquoi la sélection des fichiers est importante ; n'utilisez pas de commit vide pour le contourner.
Équivalents natifs de scène/non-stage
Dans une rediffusion distincte du même état du fichier enregistré :
git add -- README.md
git rm --cached --quiet -- README.mdLes deux commandes ont réussi en silence. --cached est essentiel : il supprime la nouvelle entrée de l'index, not the working file. Les octets README vérifiés sont restés inchangés et le statut court a de nouveau montré les deux fichiers non suivis. Il s'agit spécifiquement d'un exemple de nouveau fichier non validé ; ne le généralisez pas à la suppression des fichiers de projet suivis.
Préparez les deux :
git add -- README.md index.html
git status --short
git diff --cached --statStatut observé :
A README.md
A index.htmlRésumé observé :
README.md | 6 ++++++
index.html | 21 +++++++++++++++++++++
2 files changed, 27 insertions(+)Le résumé des statistiques compte les lignes, pas l'exactitude. Examinez le contenu réellement mis en scène avant de vous engager.
Après avoir enregistré la modification de travail ultérieure
git status --short
git diff -- index.htmlStatut observé :
A README.md
AM index.htmlDifférentiel de fonctionnement observé :
diff --git a/index.html b/index.html
index 5470374..27f8718 100644
--- a/index.html
+++ b/index.html
@@ -13,7 +13,7 @@
<section class="hero" aria-labelledby="hero-title">
<p class="eyebrow">GitTree Learn demo project</p>
<h1 id="hero-title">Understand every change.</h1>
- <p id="hero-copy">A clear view of Git history.</p>
+ <p id="hero-copy">Choose one change, then check what Git saved.</p>
</section>
</main>
<footer><p>Built by a fictional team for GitTree Learn.</p></footer>Il s’agit d’abréviations de fichiers blob mesurées à partir du contenu exact de LF, et non de SHA de validation fictifs. L'espacement des statuts courts et la longueur des abréviations peuvent varier en fonction de la configuration de formatage ; les deux comparaisons doivent rester les mêmes.
Lisez le fichier exact préparé :
git show :index.htmlRésultats complets observés :
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>GitTree Features — course demo</title>
</head>
<body>
<header class="site-header">
<a href="#main">GitTree Features</a>
</header>
<main id="main">
<section class="hero" aria-labelledby="hero-title">
<p class="eyebrow">GitTree Learn demo project</p>
<h1 id="hero-title">Understand every change.</h1>
<p id="hero-copy">A clear view of Git history.</p>
</section>
</main>
<footer><p>Built by a fictional team for GitTree Learn.</p></footer>
</body>
</html>Valider et vérifier
Dans la rediffusion native uniquement, sans remettre en scène le montage ultérieur :
git commit --quiet -m "feat: add the GitTree Features hero"Observé : aucune sortie, quittez 0. Ce luminaire n'avait pas de crochets/signatures actifs et seulement l'identité locale fictive. Ne désactivez pas les hooks/signatures d'un projet réel pour forcer la réussite d'un didacticiel.
Inspectez le résultat natif ou réel de l'application :
git log -1 --format="%s%n%an <%ae>%n%cn <%ce>"
git rev-list --count HEAD
git ls-tree --name-only HEAD
git status --short
git diff --cached
git remoteSorties observées dans l'ordre pour les quatre premières commandes :
feat: add the GitTree Features hero
GitTree Demo <demo@example.com>
GitTree Demo <demo@example.com>
1
README.md
index.html
M index.htmlLes deux dernières commandes ont produit chacune no output and exited 0. La modification de travail demeure ; aucune télécommande n'existe. Il s'agit d'un premier commit local, pas d'un téléchargement.
Pour une confirmation indépendante du contenu, git show HEAD:index.html a renvoyé le corps HTML-01 complet affiché ci-dessus comme sortie préparée ; git diff -- index.html affichait toujours le remplacement exact de la ligne de support. L'index correspondait à HEAD pour les deux chemins. Le fichier le plus récent n'a pas été perdu.
Résultat
À la fin de cette leçon, les points principaux d'exactement un engagement avec l'auteur/commissaire résumé et fictif déclaré. HEAD et index contiennent README-01 et HTML-01 ; working index.html contient HTML-01-WORKING. Le statut a un espace de début puis M pour index.html. Il n'y a pas de télécommande.
Ne « nettoyez » pas la modification intentionnelle, n'effectuez pas une deuxième validation, ne modifiez pas la racine ou n'ajoutez pas le cahier de pratique facultatif avant de transmettre ce point de contrôle à la leçon 6. Tout cahier de continuation propre ultérieur appartient à une variante préservée séparément, pas à ce premier commit de deux fichiers.
Erreurs courantes
- Saving without staging: octets de disque et les octets de validation sélectionnés diffèrent.
- Staging again after the deliberate edit: comportement Git valide, mais la ligne la plus récente entrerait dans la validation, modifiant ainsi le résultat de cette leçon.
- Counting all visible rows as staged files: un chemin peut avoir des comparaisons intermédiaires et non intermédiaires.
- Using Stage All Changes as a final cleanup: cela sélectionnerait la modification intentionnellement laissée de côté.
- Enabling amend or automatic push: ce sont des opérations différentes avec une portée différente.
- Calling unstage Discard: unstage modifie la sélection d'index ; La suppression peut supprimer le contenu de travail.
Si quelque chose ne va pas
Si New File refuse un chemin existant, annulez-le et inspectez-le. N'écrasez pas le contenu inconnu. Si l'éditeur signale que le disque a changé, conservez les deux versions et utilisez ses contrôles Review Changes, Reload from Disk ou Keep Editing en fonction de l'état réel ; ne sélectionnez pas aveuglément Overwrite with My Edits.
Si la validation est bloquée parce que rien n'est préparé, choisissez les fichiers souhaités et examinez-les. Si l'identité est manquante, inspectez les paramètres locaux de la leçon 4 ; une tentative échouée peut offrir Set up your Git identity, avec une cible de référentiel explicite. Cela ne justifie pas une écriture d’identité globale, et la sauvegarde de l’identité ne signifie pas que la validation a automatiquement réussi.
Si Git refuse une validation ou si un hook échoue, lisez Hook Output lorsqu'il est disponible. Le texte de refus défini par la source est The commit was not created. Your message and staged changes are unchanged. Corrigez la cause indiquée et revérifiez l'index avant de réessayer. Ne cochez pas Skip Hooks simplement pour fabriquer une prise verte. Revérifiez le HEAD réel après des résultats incertains avant de soumettre à nouveau.
Si un commit a été créé avec un contenu inattendu, arrêtez et enregistrez son véritable SHA, son état de travail/index et son message. Ne modifiez pas, ne réinitialisez pas immédiatement et ne cliquez pas sur Supprimer. Changer la configuration maintenant ne modifie pas les métadonnées déjà stockées dans ce commit.
Vérifiez votre compréhension
Répondez à chaque question, puis lisez pourquoi. Les questions marquées « Obligatoire » comptent pour terminer la leçon.
0 sur 6 corrects
Répondez correctement aux questions requises pour terminer la leçon.
Vérifié dans ce navigateur.
Pratique
Utilisez les requêtes de statut/contenu de l'article sur votre original complété. Expliquez pourquoi exactement un commit et une modification de travail restante sont tous deux corrects. Enregistrez votre prédiction avant de lire le fichier préparé.
Pour un separate disposable replay only, préparez le fichier index.html modifié ultérieurement avant de valider. Prévoyez que la ligne la plus récente est enregistrée et que le statut devient propre. Ne modifiez pas l'original pour effectuer cette alternative. Lorsqu’aucun exercice sur navigateur n’existe encore, utilisez les deux transcriptions et expliquez les différents résultats.
Votre propre confirmation : le site ne peut pas voir votre ordinateur.
Pour terminer la leçon, répondez correctement aux questions demandées et confirmez l'exercice pratique.
Récapitulatif
- L'enregistrement modifie le fichier de travail ; la mise en scène sélectionne le contenu pour le prochain commit ordinaire.
- Le premier commit enregistre l'index et avance le main local, sans pousser.
- Vérifier séparément le contenu, l'identité et les travaux restants ; un résultat sale peut être intentionnel.
En rapport
Termes du glossaire introduits
Étape — تجهيز; supprimer la scène — إلغاء التجهيز; commettre — إيداع; index — الفهرس; arbre de travail — مجلد العمل; non suivi — غير مُتتبَّع ; auteur — المؤلف; committer — المُودِع. Rejeter signifie التخلّص من التغييرات et n'est pas la même chose que unstage.
Transcription vidéo
La narration de la vidéo, repère par repère.
Afficher la transcription
- Créez le héros, préparez une édition, et prouvez ce que votre premier commit a enregistré.
- Démarrer dans le référentiel d'origine à partir de L004, pas son clone supplémentaire.
- Sauvegarde, mise en scène et validation modifier différents instantanés.
- Créez le premier fichier via Commande Nouveau fichier de GitTree.
- Nommez-le README et pointez-le dee, à la racine du projet.
- Enregistrez le projet de fiction complet README, pas les clôtures Markdown.
- Créer un point d'index H T M L dans le même référentiel.
- Sauvez le héros original avec cette ligne de soutien.
- Ouvrez les modifications de travail pour voir les deux nouveaux fichiers non suivis.
- Sans aucune mise en scène, ceci Le bouton met en scène tous les changements en premier.
- Le terminal confirme deux fichiers non suivis, pas deux commits.
- Un commit normal ne peut pas les enregistrer fichiers avant de sélectionner leur contenu.
- Mettez en scène uniquement le README en premier.
- Supprimez-le à nouveau. C'est enregistré le texte de travail reste intact.
- Unstage modifie la sélection ; La suppression peut supprimer le contenu de travail.
- Organisez maintenant les deux fichiers prévus, un par un.
- Les raccourcis S et U fonctionnent dans leur des listes ciblées, pas à l'intérieur de champs de texte.
- Revoir le contenu mis en scène, pas seulement le nombre de fichiers.
- Le résumé compte les lignes ; ça fait ne prouve pas que ces lignes sont correctes.
- L'édition préparée est toujours le héros original.
- Rouvrez le fichier de travail, pas la comparaison par étapes.
- Enregistrez le support ultérieur ligne sans la mettre en scène.
- Le même chemin apparaît maintenant dans les deux comparaisons.
- La comparaison non mise en scène montre la modification ultérieure par rapport à l'index.
- L'ajout par étapes toujours contient la ligne précédente.
- Lire l'index directement pour prouver ce qui est préparé.
- Sans mise en scène à nouveau, qui supporte la ligne que contiendra le premier commit ?
- Rédigez un résumé qui décrit le héros que vous avez réellement ajouté.
- Gardez les modifications et tous les comportements facultatifs off pour ce premier commit local.
- Engagez les deux chemins par étapes, pas toutes les lignes visibles.
- Attendez que Git confirme la création avant considérer l’opération comme terminée.
- Main pointe maintenant vers son premier commit local.
- La modification de travail ultérieure reste en dehors du commit volontairement.
- Vérifiez le sujet, l'auteur et s'engageant de manière indépendante.
- Il existe un commit contenant exactement ces deux chemins.
- Un diff vide en cache peut coexister avec une modification fonctionnelle.
- Le fichier enregistré est antérieur ; le le fichier de travail contient toujours la ligne la plus récente.
- Rien n'a été téléchargé. Ceci le référentiel n'a toujours pas de télécommande.
- Si vous effectuez d'abord la modification ultérieure, l'édition préparée change.
- Ce commit alternatif enregistre le ligne plus récente et laisse un résultat propre.
- Le raccourci de validation est une alternative soumission, pas une deuxième étape finale.
- Si Git refuse, inspectez sa sortie et le contenu préparé avant de réessayer.
- Ne pas supprimer les modifications restantes ou supposez qu'Undo couvre chaque tampon.
- Votre point de contrôle est un commit exact plus une modification de travail délibérée.
- Vérifiez le contenu enregistré, l'identité et les restes de travail séparément.
- La sauvegarde écrit le fichier de travail ; sélections de mise en scène ; commettre des enregistrements.
- Conservez la modification ultérieure. Ensuite, inspectez diffs et ajouter les outils du projet.
- Continuez à partir de cet état vérifié, pas d'un dossier propre deviné.