Vai al contenuto
GitTree

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.

Avanzamenti salvati in questo browser.

La riproduzione carica il video da YouTube (modalità ottimizzata per la privacy).

Narrazione in inglese · English and Arabic didascalie

Apri la pagina del videoGuarda su YouTube

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

Estratto del file · gitignore
node_modules/
dist/
coverage/
reports/
.course-cache/
*.log
scratch/

course-scratch.txt — SCRATCH

Uscita
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.

  1. 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.)
  2. 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.
  3. Nuovo file… → course-scratch.txt → Crea; salva SCRATCH esatto, nessuna messa in scena. Conferma che non è tracciato.
  4. Esegui l'esecuzione di prova con ambito del percorso nativo di seguito. Se viene elencato un percorso diverso, interrompere prima della rimozione.
  5. 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.
  6. 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.
  7. 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.
  8. 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:

Command · bash
git add -- .gitignore
git commit --quiet -m "chore: ignore generated course files"
git check-ignore dist/index.html

Produzione osservata:

Uscita
dist/index.html

Crea SCRATCH esatto solo dopo quel commit, conservalo esternamente se necessario, quindi:

Command · bash
git clean -n -- course-scratch.txt

Osservato:

Uscita
Would remove course-scratch.txt

Solo dopo aver confermato questo percorso usa e getta, alternativa nativa (non dopo il successo dell'app):

Command · bash
git clean -f -- course-scratch.txt
git status --short

Rimozione osservata:

Uscita
Removing course-scratch.txt

Lo 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.

  1. Domanda 1 di 6

    Ignora cancella la cronologia tracciata?

    Scegli una risposta.

  2. Domanda 2 di 6

    Cosa rimane dopo la pulizia mirata?

    Scegli ogni risposta applicabile.

  3. Domanda 3 di 6
    Obbligatorio

    La pulizia effettua un nuovo commit?

    Scegli una risposta.

  4. Domanda 4 di 6
    Obbligatorio

    Modifica l'input per includere i file ignorati: scope?

    Scegli una risposta.

  5. Domanda 5 di 6

    Corsa pulita nativa. L'annullamento dell'app è garantito?

    Scegli una risposta.

  6. Domanda 6 di 6
    Obbligatorio

    Cosa dimostra la pulizia prevista?

    Scegli ogni risposta applicabile.

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.

Termini del glossario introdotti

Ignora: تجاهُل; pulito: تنظيف; non tracciato: غير متتبَّع; istantanea di ripristino: لقطة استعادة.

Trascrizione video

La narrazione del video, spunto per spunto.

Mostra la trascrizione
  1. Inizia dal checkpoint esatto.
  2. Assegna un nome al ramo, indice e versione funzionante.
  3. Preparare solo la copia isolata del corso.
  4. Salva l'esatta policy di ignoranza condivisa.
  5. Effettua il commit solo del file da ignorare.
  6. Conserva il file di lavoro deliberatamente non tracciato.
  7. Visualizza prima l'anteprima del percorso con nome esatto.
  8. Leggi ogni candidato alla rimozione.
  9. Non ampliare le opzioni di pulizia.
  10. Rimuovere solo la lima usa e getta.
  11. Verificare cosa è rimasto come così come ciò che è scomparso.
  12. Ignora cancella la cronologia tracciata?
  13. Le regole nascondono i candidati non tracciati; non riscrivono la storia.
  14. Cosa rimane dopo la pulizia mirata?
  15. Solo il graffio non tracciato nominato viene rimosso con queste opzioni.
  16. La pulizia effettua un nuovo commit?
  17. L'operazione rimuove il disco byte fuori dall'indice.
  18. Modifica l'input da includere file ignorati: ambito?
  19. Le opzioni ampliate cambiano i candidati; visualizzare nuovamente l'anteprima prima di agire.
  20. Corsa pulita nativa. L'annullamento dell'app è garantito?
  21. La pulizia nativa non crea GitTree journal o backup di contenuti non tracciati.
  22. Cosa dimostra la pulizia prevista?
  23. Controlla sia rimosso che conservato state con le query denominate.
  24. Verificare il risultato reale, non solo un messaggio.
  25. Prevedere l'input modificato prima di agire.
  26. Conservare il lavoro utile prima del ripristino.
  27. Dimostrare il checkpoint prima di continuare.
  28. Conserva il risultato verificato per il passo successivo.