Lezione 17 · Lavoro quotidiano
Segui la cronologia di un file e la paternità della riga
Attribuire la riga di revisione README a Maya e il promemoria a piè di pagina a Leo, utilizzando la cronologia dei file e la colpa senza considerare la paternità come approvazione del codice.
- Livello: Intermedio
- 7 minuti di lettura
- 5 minuti di video
- Aggiornato
- Prima di questa lezione: Ignora i file e pulisci il lavoro non tracciato in modo sicuro
Avanzamenti salvati in questo browser.
La riproduzione carica il video da YouTube (modalità ottimizzata per la privacy).
Cosa imparerai
- Separa la cronologia dei file dall'attribuzione della riga corrente.
- Leggi l'autore e il committente in modo indipendente.
- Ispeziona la colpa precedente senza controllare i commit.
- Mantenere le prove di attribuzione separate dall'attendibilità della sicurezza.
Prima di iniziare
Inizia da dove è finita la lezione 15: main con ignore commit, clean; README.md è ancora il README originale e index.html contiene il piè di pagina di Leo della lezione 11. La funzionalità pubblicata e il tag v0.1.0 sono invariati.
Il video è stato registrato con Git 2.52.0 e GitTree 2.0 su Ubuntu 24.04: README.md è stato salvato nell'app, il commit di Maya è stato effettuato in modo nativo come preparazione del compagno di squadra e le visualizzazioni della cronologia e delle colpe sono state aperte nell'app; lo stato precedente e le riletture della colpa venivano eseguite nel terminale. 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
La cronologia dei file elenca i commit selezionati in base alle regole del percorso/cronologia; colpa attribuisce le righe correnti ai commit che le hanno introdotte per ultime nelle opzioni selezionate. Né è una spiegazione sociale completa di chi ha progettato una funzionalità.
Autore e committente possono differire. Questo dispositivo utilizza deliberatamente la stessa identità fittizia Maya per entrambi nel suo commit, e Leo per entrambi nel suo. Nomi/e-mail sono metadati, non prova di proprietà o codice attendibile.
Ignorare gli spazi bianchi e seguire le righe spostate può modificare le risposte di attribuzione senza modificare i byte del file o la cronologia. Fare un passo indietro rispetto a un commit incolpato selezionato per ispezionare il suo predecessore; la selezione non è il checkout.
Il commit README esplicito avanza solo a main. Le successive selezioni e attivazioni di Cronologia/Colpa modificano lo stato di visualizzazione dell'app; non si verifica alcuna mutazione dell'indice, del lavoro, del ramo locale o del server.
Preparare lo stato esatto del progetto
Nel salvataggio principale originale completa README_MAYA di seguito. La preparazione nativa utilizza git -c user.name/user.email solo per questo commit, non per la configurazione globale o per un fuorviante override riservato all'autore. Cattura i metadati effettivi risultanti.
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.
README.md — README_MAYA
# 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.
Review changes deliberately and preserve 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.
- Mostra file; apri README.md e salva README_MAYA completo. Esaminare la riga di revisione aggiunta.
- Effettua l'aggiunta in modo nativo con l'identità fittizia esplicita di seguito; etichetta questa preparazione del compagno di squadra. Non affermare che l'app abbia riscritto gli autori esistenti.
- Con README.md aperto tramite Show Files e poi README.md, la visualizzazione del file ha quattro schede: File, Changes, Blame e History. Scegli History: elenca solo i commit di questo file, quello di Maya in alto. Seleziona il commit di Maya.
- Ispezionare la differenza di percorso e i metadati; utilizzare l'elenco della cronologia Freccia su/Freccia giù per controllare un'altra revisione senza effettuare il checkout.
- Scegli Blame su README.md. L'intestazione riporta "Blame @", un breve ID di commit e le righe sono raggruppate per commit; fare clic sulla riga aggiunta. Aspettatevi il soggetto e l'identità reali di Maya, non uno SHA fisso inventato.
- Apri index.html e scegli Colpa; ispezionare in modo indipendente l'attribuzione del Leone della riga a piè di pagina.
- Ignore whitespace changes e Follow moved lines sono opzioni di visualizzazione della vista colpa. Fai clic sul gruppo di un commit, scegli Blame before this commit per vedere la colpa com'era, quindi Back to the later blame.
- Back to Graph; Jump to HEAD (Ctrl+Maiusc+H su Ubuntu). Dopo l'ispezione, verificare che l'ugello principale originale sia pulito e che l'ugello effettivo non sia stato modificato.
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
Dopo aver salvato README_MAYA:
git add -- README.md
git -c user.name="Maya Chen" -c user.email=maya@example.com commit --quiet -m "docs: explain deliberate review"
git log -1 --format='%an <%ae>%n%cn <%ce>' -- README.md
git blame --line-porcelain -- README.md
git blame --line-porcelain -- index.html
git status --shortIl commit ha esito positivo. La query dell'autore effettivo include:
Maya Chen <maya@example.com>
Maya Chen <maya@example.com>L'output completo della colpa include SHA/tempi variabili effettivi e record per riga. Per la nuova riga README i campi del record verificato includono l'autore Maya Chen, l'e-mail dell'autore <maya@example.com>, i documenti di riepilogo: spiega la revisione deliberata, quindi una revisione con prefisso tab Modifica deliberatamente e preserva il lavoro utile. Il record a piè di pagina identifica Leo Okafor e il suo impegno di promemoria; questo deve essere misurato dall'albero reale, non inventato come un autore uniforme per ogni riga HTML. Lo stato finale è vuoto.
Alternative di sola lettura:
git log --follow --format='%s' -- README.md
git blame -w -- README.md
git blame -M -- README.mdQueste opzioni rispondono a diverse domande di attribuzione; il layout di output è specifico della versione Git e viene catturato, non sostituito con l'estratto del campo porcellana.
Risultato
Where you end: L'unica aggiunta README di Maya è confermata come documentazione: spiega la revisione deliberata su main. Blame attribuisce quella nuova riga a Maya e il piè di pagina a Leo; l'ispezione lascia la TESTA/indice/lavoro pulita e inalterata.
Errori comuni
- Chiamare la colpa un punteggio di colpevolezza.
- Supponendo che l'autore sia sempre uguale al committer.
- Controllare un commit semplicemente per ispezionarne la linea.
Se qualcosa va storto
Cancella le opzioni di visualizzazione o torna alla colpa successiva/Vai a HEAD. La navigazione non necessita di ripristino. Se l'attribuzione è diversa, controlla il percorso effettivo, la revisione e le impostazioni degli spazi bianchi/spostamento prima di modificare la cronologia.
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
Dimostrare che la riga di revisione README appartiene a Maya e il piè di pagina a Leo utilizzando veri e propri record in porcellana. Attiva / disattiva -w in una query di sola lettura separata e spiega perché l'attribuzione invariata qui non dimostra che l'opzione non ha mai importanza.
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
- La storia e la colpa rispondono a domande diverse.
- I metadati non sono fiducia.
- L'ispezione non muove la TESTA.
Relativo
Termini del glossario introdotti
Colpa — نسب الأسطر; cronologia dei file — سجل الملف; autore: المؤلف; committer — المُودِع.
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.
- Salvare il documento di revisione completo.
- Registra l'immaginario l'identità del compagno di squadra in modo esplicito.
- La cronologia dei file segue il percorso selezionato.
- Ispeziona i metadati senza controllando il commit.
- Leggi l'effettiva attribuzione della riga aggiunta.
- Controlla il piè di pagina di Leo separatamente.
- Le opzioni di visualizzazione possono cambiare domande di attribuzione.
- Ritorno senza cambiare filiale.
- La colpa risponde a cosa?
- L'attribuzione è una storia domanda, non un giudizio sociale.
- Quali distinzioni contano?
- Metadati e versione interrogata determinare le prove visualizzate.
- Seleziona la vecchia revisione del file: HEAD?
- L'ispezione seleziona una vista, non il checkout.
- Modifica la query per ignorare gli spazi bianchi: byte?
- L'opzione modifica l'attribuzione calcolo, contenuto non memorizzato.
- Risultato colpa diversa: primo controllo?
- Diversi input di query possono legittimamente produrre attribuzioni diverse.
- Cosa dimostra il risultato?
- Controllare le prove della linea e stato di archivio indipendente.
- 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.