Lezione 15 · Lavoro quotidiano
Ignora i file e pulisci il lavoro non tracciato in modo sicuro
Applica la politica di ignoranza del corso, quindi visualizza in anteprima e rimuovi solo un file scratch usa e getta non tracciato. Mantieni separati l'output della build ignorata, il lavoro monitorato e l'ambito del ripristino.
- Livello: Intermedio
- 7 minuti di lettura
- 6 minuti di video
- Aggiornato
- Prima di questa lezione: Leggere il confronto prima di giudicare un cambiamento
Avanzamenti salvati in questo browser.
La riproduzione carica il video da YouTube (modalità ottimizzata per la privacy).
Cosa imparerai
- Spiegare le regole di ignoranza rispetto ai file tracciati.
- Anteprima di una pulizia con ambito ristretto.
- Controlla l'elenco esatto delle rimozioni dell'app.
- Distinguere l'eliminazione nativa dagli snapshot dell'app.
Prima di iniziare
Inizia da dove è terminata la lezione 14: main/H7 pulito, il file minimo .gitignore contiene solo dist/, il tag v0.1.0 è fissato su H7. Il video aggiunge un dist/index.html generato, che la regola già nasconde.
Il video è stato registrato con Git 2.52.0 e GitTree 2.0 su Ubuntu 24.04: il file ignore, il suo commit, il file scratch e la pulizia sono stati eseguiti nell'app; lo stato precedente, le anteprime e i controlli venivano eseguiti nel terminale, con una copia separata per le anteprime. Non è stato eseguito nulla su macOS o Windows e Ubuntu è l'unico sistema Linux registrato. Il Git floor di origine di GitTree è 2.39.0.
GitTree ti chiede di accedere; il piano gratuito copre quindi ogni passaggio qui. Non è necessario alcun account fornitore, Pro/prova, credenziale API o servizio Internet. Un'origine nuda locale non è GitLab o CI. Tutte le identità utilizzano example.com; non eseguire mai questa lezione all'interno di un checkout di origine.
Effettua mutazioni tramite GitTree o il percorso nativo su input identici, non entrambi consecutivamente. È possibile seguire anche la verifica di sola lettura. Qualsiasi preparazione descritta come lavoro terminale è etichettata come preparazione nativa, mai come funzionalità inventata dell'app.
Effetti del concetto e dello stato
Le regole Ignora normalmente nascondono i candidati non tracciati; non smettono di tracciare un percorso già indicizzato, cancellano la cronologia o proteggono i segreti. Applica la policy condivisa come qualsiasi altro file.
Un'operazione di pulizia rimuove i percorsi non tracciati nel suo ambito. Git clean nativo non ha uno snapshot di ripristino integrato; l'eliminazione di un file non tracciato non è recuperabile dalla cronologia ordinaria dei commit a meno che non venga conservata separatamente.
GitTree Pulisci file non tracciati… crea un elenco esatto e protegge i byte elencati prima della rimozione. Le opzioni Includi file ignorati e Solo file ignorati modificano l'ambito e si escludono a vicenda. La protezione del codice sorgente non è la prova che è stato registrato un particolare annullamento.
Il salvataggio/il commit di .gitignore modifica indice/albero/principale. La pulizia dello scratch rimuove solo il file su disco non tracciato; non effettua un commit o aggiorna i riferimenti remoti. Dist ignorato rimane con le opzioni di pulizia predefinite.
Preparare lo stato esatto del progetto
Utilizza solo il repository del corso originale. Salva l'intero IGNORE, esegui prima lo stage e il commit. Quindi crea SCRATCH completo; è deliberatamente fuori dallo scratch/ ignorato, quindi l'elenco pulito predefinito può mostrarlo. Conserva una copia separata al di fuori della demo se pratichi la rimozione nativa.
Completare gli input del file
Risparmia solo nella fase denominata di seguito. Questi sono corpi UTF-8/LF completi con un ritorno a capo finale; non incollare mai le recinzioni Markdown. I file eseguibili non modificati ereditano l'input denominato. Le versioni in varianti separate non devono sovrascrivere l'originale.
.gitignore — IGNORA
node_modules/
dist/
coverage/
reports/
.course-cache/
*.log
scratch/course-scratch.txt — SCRATCH
Disposable course scratch. No useful work.Tra GitTree
Tavolozza: Comando+Maiusc+P (Ctrl+Maiusc+P su Ubuntu); digitare il comando con il nome esatto e selezionarlo. Le azioni di riferimento con nome utilizzano il menu contestuale di quella riga, non una scorciatoia della tavolozza senza argomenti.
- La tavolozza Edit .gitignore… apre “.gitignore in gittree-features”. Fai clic su Rules, one per line, seleziona tutto e digita (o incolla) l'intero corpo IGNORA; Save. Questo scrive il file, non un commit. (La finestra di dialogo ha anche Add Template e un controllo Why is this ignored? per un percorso.)
- Mostra modifiche operative; rivedere solo .gitignore, Stage File; Lavoro di riepilogo: ignorare i file del corso generati; Applica le modifiche a 1 file una volta.
- Nuovo file… → course-scratch.txt → Crea; salva SCRATCH esatto, nessuna messa in scena. Conferma che non è tracciato.
- Esegui l'esecuzione di prova con ambito del percorso nativo di seguito. Se viene elencato un percorso diverso, interrompere prima della rimozione.
- La tavolozza Clean Untracked Files… si apre "Pulire i file non tracciati in gittree-features?". Si legge "1 file, 0 cartelle (0 ignorate), 43 B" ed elenca course-scratch.txt; sotto l'elenco si dice che un'istantanea di ripristino di ogni file elencato viene salvata in refs/ogt/trash prima che qualsiasi cosa venga rimossa e che Undo rimette i file dove non c'è nulla di nuovo al loro posto.
- Lasciare Includi cartelle non tracciate, Includi file ignorati e Solo file ignorati disattivati. Il candidato previsto è solo course-scratch.txt; Annulla se viene visualizzato lavoro utile.
- Scegli Rimuovi 1 elemento una volta e attendi il risultato effettivo. L'app protegge prima i byte; acquisire tali prove prima di richiedere l'annullamento.
- Verifica lo stato pulito e dist/index.html ignorato. Non eliminare le istantanee né abilitare la pulizia ignorata per abbellire la vista.
Per ogni commit ordinario: Summary è l'oggetto indicato; Descrizione vuota; Modifica commit precedente, Salta hook, Aggiungi autore firmato, Autore diverso, Push dopo commit e Consenti commit vuoto disattivato; nessun coautore. Metti in stage solo i file nominati, quindi applica le modifiche a N file una volta (File per uno) o Comando+Invio come alternativa. Aspetta il risultato reale. Una lezione che modifica esplicitamente cambia solo l'opzione dichiarata.
Nel terminale
Salva prima IGNORA; alternativa al commit nativo:
git add -- .gitignore
git commit --quiet -m "chore: ignore generated course files"
git check-ignore dist/index.htmlProduzione osservata:
dist/index.htmlCrea SCRATCH esatto solo dopo quel commit, conservalo esternamente se necessario, quindi:
git clean -n -- course-scratch.txtOsservato:
Would remove course-scratch.txtSolo dopo aver confermato questo percorso usa e getta, alternativa nativa (non dopo il successo dell'app):
git clean -f -- course-scratch.txt
git status --shortRimozione osservata:
Removing course-scratch.txtLo stato è silenzioso. Questo -f nativo è limitato al file usa e getta denominato, non a -fdx o ad un'ampia pulizia. Native Git non ha creato uno snapshot dell'app. Anteprime non mutanti con input modificato, poiché venivano eseguite in una copia separata: git clean -n -X non ha stampato nulla, perché senza -d Git non entra nella cartella dist/ ignorata; git clean -n -x ha elencato solo course-scratch.txt per lo stesso motivo; git clean -n -x -- course-scratch.txt dist/index.html, che nomina entrambi i percorsi, li elenca entrambi. Dare un nome a un percorso è ciò che amplia la portata. Non sostituire mai la rimozione mirata con una delle forme distruttive espanse.
Risultato
Where you end: Il compito principale è: ignorare i file del corso generati, eseguire il commit di I8 con IGNORE completo; course-scratch.txt assente dopo la pulizia esplicita, pulizia lavoro/indice, dist ignorato, riferimenti tag/server invariati.
Errori comuni
- Supponendo che i file tracciati ignorati lascino la cronologia.
- Utilizzando le opzioni -x o app ignorate senza revisione dell'ambito.
- Mi aspetto che la pulizia nativa abbia l'annullamento dell'app.
Se qualcosa va storto
Annulla se l'anteprima è diversa. La rimozione nativa richiede il file conservato separato per ripristinarla; app L'annullamento dipende dall'istantanea/dal diario reale e dai percorsi correnti, non da una promessa che copre l'eventuale eliminazione.
Controlla la tua comprensione
Rispondi a ciascuna domanda, quindi leggi il motivo. Le domande contrassegnate come "Obbligatorio" contano ai fini del completamento della lezione.
0 di 6 corretto
Rispondi correttamente alle domande richieste per completare la lezione.
Controllato in questo browser.
Pratica
Verifica che IGNORE sia impegnato, scratch assente e dist ignorato. Solo in un'anteprima separata, prevedere quali candidati ignorati verranno visualizzati con -X rispetto a -x senza eliminarli.
La tua conferma: il sito non può vedere il tuo computer.
Per completare la lezione rispondere correttamente alle domande richieste e confermare l'esercizio pratico.
Riepilogo
- Ignorare non significa annullare il tracciamento.
- L'ambito pulito è esplicito.
- Il ripristino dipende dai byte conservati.
Relativo
Termini del glossario introdotti
Ignora: تجاهُل; pulito: تنظيف; non tracciato: غير متتبَّع; istantanea di ripristino: لقطة استعادة.
Trascrizione video
La narrazione del video, spunto per spunto.
Mostra la trascrizione
- Inizia dal checkpoint esatto.
- Assegna un nome al ramo, indice e versione funzionante.
- Preparare solo la copia isolata del corso.
- Salva l'esatta policy di ignoranza condivisa.
- Effettua il commit solo del file da ignorare.
- Conserva il file di lavoro deliberatamente non tracciato.
- Visualizza prima l'anteprima del percorso con nome esatto.
- Leggi ogni candidato alla rimozione.
- Non ampliare le opzioni di pulizia.
- Rimuovere solo la lima usa e getta.
- Verificare cosa è rimasto come così come ciò che è scomparso.
- Ignora cancella la cronologia tracciata?
- Le regole nascondono i candidati non tracciati; non riscrivono la storia.
- Cosa rimane dopo la pulizia mirata?
- Solo il graffio non tracciato nominato viene rimosso con queste opzioni.
- La pulizia effettua un nuovo commit?
- L'operazione rimuove il disco byte fuori dall'indice.
- Modifica l'input da includere file ignorati: ambito?
- Le opzioni ampliate cambiano i candidati; visualizzare nuovamente l'anteprima prima di agire.
- Corsa pulita nativa. L'annullamento dell'app è garantito?
- La pulizia nativa non crea GitTree journal o backup di contenuti non tracciati.
- Cosa dimostra la pulizia prevista?
- Controlla sia rimosso che conservato state con le query denominate.
- Verificare il risultato reale, non solo un messaggio.
- Prevedere l'input modificato prima di agire.
- Conservare il lavoro utile prima del ripristino.
- Dimostrare il checkpoint prima di continuare.
- Conserva il risultato verificato per il passo successivo.