Lección 8 · trabajo diario
Leer el historial sin mover la CABEZA
Registre la edición del radio sobrante, documente el historial real y compare los conjuntos de revisiones con las diferencias del árbol de archivos. Seleccionar una fila del gráfico es una inspección, no un cambio de rama.
- Nivel: principiante
- 9 minutos de lectura
- 4 minutos de vídeo
- Actualizado
- Antes de esta lección: Prepare la instantánea deseada y realice su primera confirmación, Confirme el fragmento seleccionado, no todo el archivo
Progreso guardado en este navegador.
La reproducción carga el vídeo de YouTube (modo de privacidad mejorada).
lo que aprenderás
- Distinga HEAD, una confirmación, un autor y una confirmación seleccionados.
- Siga a los padres y a los antepasados primerizos.
- Lea conjuntos de registros de dos o tres puntos sin confundirlos con puntos finales diferenciales.
- Compare dos confirmaciones reales en GitTree sin reescribir el historial.
Antes de empezar
Comienza donde terminó la lección 7: main tiene tres confirmaciones de las lecciones 5 a 7. Solo el radio CSS permanece modificado: HEAD y el índice contienen CSS-02-INDEX, el archivo de trabajo CSS-02-WORKING. Sin control remoto. El vídeo se grabó con Git 2.52.0 y GitTree 2.0 en Ubuntu 24.04: ambas confirmaciones, el documento, la inspección de gráficos, la búsqueda, Saltar a HEAD y Comparar referencias se operaron en la aplicación, y las comprobaciones del terminal se ejecutaron con lo que creó la aplicación, por lo que los ID de confirmación que se muestran son los que comparó la aplicación. El caso de rama divergente es un diagrama: no se creó ninguna rama característica. No se ejecutó nada en macOS o Windows, y Ubuntu es el único sistema Linux registrado. El mínimo de fuente de GitTree es Git 2.39.0; Una vez que haya iniciado sesión, la inspección local y las confirmaciones están en el plan gratuito.
Concepto
Una confirmación registra un árbol, metadatos e ID de padres. Una rama nombra una confirmación; HEAD normalmente nombra la rama actual. Al hacer clic en otra fila del gráfico, se cambia el selection de la aplicación, no el HEAD, la rama o los archivos del disco. El autor registra quién escribió la obra; El confirmador registra quién registró esta confirmación. Resulta que aquí son la misma identidad ficticia.
Para una cadena lineal, HEAD~1 sigue un borde del primer padre; HEAD~2 sigue a dos. HEAD^1 es el primer padre; HEAD^2 significa second parent of one commit, no "dos confirmaciones". Una confirmación sin fusión no tiene un segundo padre.
git log A..B significa accesible desde B excluyendo accesible desde A. git log A...B significa diferencia simétrica de accesibilidad. git diff A B compara árboles de puntos finales, mientras que git diff A...B compara merge-base(A,B) con B. Un registro de tres puntos y una diferencia de tres puntos no plantean la misma pregunta. En esta historia lineal algunos resultados coinciden; No generalices esa coincidencia a ramas divergentes. Notación de revisión, semántica de diferencias.
Leer/seleccionar/buscar cambios sin índice, bytes de trabajo o referencias. Las dos confirmaciones explícitas de esta lección mueven local main: radio primero, documentación segundo. Sin cambios remotos.
documento histórico completo
Primero confirme la edición del radio existente como se muestra a continuación. Luego cree docs/history.md con este cuerpo UTF-8/LF completo; su elemento final describe la confirmación que contendrá el documento, no un SHA inventado.
# GitTree Features history
The first-parent chain on main, oldest first:
1. feat: add the GitTree Features hero
2. feat: add styling and local project checks
3. feat: refine the hero and card spacing
4. style: finish the card radius change
5. docs: record logs-and-revisions practice
After this document is committed, HEAD names item 5.
HEAD~1 names item 4; HEAD~2 names item 3.
Selecting a graph row does not move HEAD.
These labels are descriptions, not fabricated commit SHAs.
All identities in this project are fictional.No agregue el cuaderno de práctica opcional ni compromisos de limpieza adicionales a esta cadena de cinco compromisos.
En GitTree
- Paleta Show Working Changes (Comando/Ctrl+Mayús+P para abrir la paleta). Haga clic en estilos.css debajo de Unstaged Files. Confirme que solo queda un radio de 0,5 rem → 0,75 rem; no repita el cambio de ancho anterior.
- Elija su acción de fila Stage File, ingrese Resumen
style: finish the card radius change, desactive las opciones normales y luego Commit Changes to 1 File (o Comando/Ctrl+Intro una vez). Verifique cuatro confirmaciones y limpie el estado del seguimiento. - Paleta New File… → Path from the project folder = docs/history.md → Create. Pegue el documento completo y Save. Back to Graph → Show Working Changes → Archivo de etapa para docs/history.md.
- Resumen
docs: record logs-and-revisions practice; cometer un archivo. La cadena esperada ahora tiene cinco confirmaciones. - Haga clic en la fila del héroe raíz. Inspeccione su SHA real, asunto, autor/confirmador y estado principal de root commit en los detalles de la confirmación. Haga clic en la última fila; comparar su relación padre. No invoque Check Out This Commit simplemente para leerlo.
- En los detalles de la confirmación, active View all files para distinguir todo el árbol de la confirmación de las rutas modificadas únicamente; inspeccionar el documento en su revisión registrada. Esto no modifica el archivo de trabajo.
- Devolver Back to Graph; use la paleta Search Loaded History o Comando/Ctrl+F while the graph is active, escriba
radiuse inspeccione el historial cargado de coincidencias. En un editor, el mismo acorde encuentra el texto del editor. Borre la búsqueda después. Una búsqueda del historial cargado no es una consulta del historial de todo el servidor. - Paleta Jump to HEAD, Comando/Ctrl+Mayús+H, localiza la sugerencia actual. La selección/búsqueda puede moverse mientras el
git symbolic-ref --short HEADnativo sigue informando como principal. - Utilice
git rev-parse HEAD~2nativo para obtener su ID de confirmación real; no se proporciona SHA de curso fijo. La paleta Compare References… (repo.compareRefs) abre Compare References. En Old side, pegue ese ID medido y seleccione su opción de confirmación; en New side, elija CABEZA. El selector acepta un ID de confirmación, no una promesa de que allí se analicen expresiones de revisión arbitrarias. - En What to compare, elija The two endpoints y luego Compare. Espere diferencias en docs/history.md y estilos.css para esta cadena. Vuelva a abrir/cambiar la comparación y elija Changes since the merge base con los mismos lados: la ascendencia lineal hace que el resultado del punto final coincida aquí. No infieras el comportamiento del registro simétrico desde esa vista. Cancel sale sin cambiar el historial.
en la terminal
Alternativa de mutación nativa, solo antes del éxito de la aplicación correspondiente:
git add -- styles.css
git commit --quiet -m "style: finish the card radius change"Ambos lo lograron en silencio. Después de guardar el documento completo:
git add -- docs/history.md
git commit --quiet -m "docs: record logs-and-revisions practice"
git log --reverse --format=%sCadena completa observada:
feat: add the GitTree Features hero
feat: add styling and local project checks
feat: refine the hero and card spacing
style: finish the card radius change
docs: record logs-and-revisions practiceInspeccionar conjunto versus árbol:
git log --format=%s HEAD~2..HEAD
git log --format=%s HEAD~2...HEADCada consulta impresa por separado:
docs: record logs-and-revisions practice
style: finish the card radius changeCoinciden sólo porque el punto final más antiguo es un antepasado aquí.
git diff --name-only HEAD~2 HEAD
git rev-list --count HEAD
git symbolic-ref --short HEADSalidas en orden:
docs/history.md
styles.css
5
mainLos dos archivos con nombre son diferencias de árbol, no las identidades de las dos confirmaciones devueltas por el registro.
git rev-parse --verify --quiet HEAD^2No se observó ninguna salida estándar/stderr ni salida 1: la última confirmación no es una fusión. Utilice HEAD~2 para dos pasos de primer padre en su lugar. Para identificar una ID de comparación real:
git rev-parse HEAD~2Lea su resultado real durante el ensayo; un SHA medido cambia con los metadatos de confirmación y no debe copiarse de una etiqueta de modelo.
Resultado
Al final de esta lección: cinco confirmaciones en main en el orden documentado; trabajo rastreado/índice limpio, sin control remoto ni operación en progreso. CSS ahora tiene un radio de 0,75 rem y docs/history.md está confirmado. Al leer una fila del gráfico anterior no se ha separado HEAD.
Errores comunes
- Tratar la fila seleccionada como confirmación desprotegida: inspeccionar HEAD de forma independiente.
- Leyendo ^2 como ~2: segundo padre versus dos bordes del primer padre.
- Aplicación del significado de registro simétrico a la diferencia de tres puntos: la diferencia es direccional desde la base de fusión hacia la derecha.
- Suponiendo que la búsqueda de gráficos cubra el historial descargado/no recuperado.
Si algo sale mal
Una revisión faltante puede significar ascendencia insuficiente, un error tipográfico o un límite superficial, no corrupción. Verifique la cadena y el repositorio seleccionado. Borrar los filtros de la aplicación antes de concluir una confirmación desapareció. No realice compras de un proveedor arbitrario, no restablezca ni pague simplemente para reparar una selección. Si un documento ya existe, inspeccione su contenido antes de aplicar este paso de archivo nuevo.
Comprueba tu comprensión
Responda cada pregunta y luego lea por qué. Las preguntas marcadas como "Obligatorias" cuentan para completar la lección.
0 de 6 correcto
Responda correctamente las preguntas requeridas para completar la lección.
Comprobado en este navegador.
Practica
Seleccione una fila anterior y demuestre que HEAD permanece principal. Explique por qué dos entradas de registro pueden corresponder a diferencias en sólo dos caminos. Entrada modificada: para una rama separada con una confirmación de H3 mientras que principal está en H5, predecir que la característica principal contiene solo esa confirmación de característica, pero la característica principal... también incluye H4/H5. No cree esa rama en el punto de control canónico; Utilice una copia desechable.
Su propia confirmación: el sitio no puede ver su computadora.
Para completar la lección, responde correctamente a las preguntas requeridas y confirma el ejercicio práctico.
Resumen
- Selection y HEAD tienen propietarios diferentes.
- La notación principal y los conjuntos de revisión describen la ascendencia, no los cambios de archivos.
- Compare puntos finales reales resueltos y etiquete la pregunta claramente.
Relacionado
Términos del glosario introducidos
Comprometerse - إيداع; padre—إيداع أب; ref—مرجع; revisión — مراجعة; rango — نطاق; fusionar base — أساس الدمج; autor — المؤلف; comprometidor - المُودِع.
Transcripción del vídeo
La narración del vídeo, cue a cue.
Mostrar la transcripción
- Leer historia sin mudando su sucursal actual.
- Primero inspecciona el edición independiente dejada por L007.
- Registre el radio como su propio compromiso local.
- Escribe la cadena documentada usando sujetos, no hashes inventados.
- El documento se convierte en quinto compromiso en esta cadena.
- Verifique el pedido real antes Notación de revisión didáctica.
- Un nombre de sucursal y un seleccionado fila del gráfico son diferentes.
- Seleccionar solo la raíz cambia el compromiso inspeccionado.
- El árbol completo no es sólo el la lista cambió en esa confirmación.
- Busca en el historial cargado, no un archivo prometido para todo el servidor.
- Devuelve la selección al consejo actual.
- El terminal de forma independiente confirma la sucursal retirada.
- Dos pasos de los padres no son los segundo padre de una confirmación.
- Este compromiso de no fusión no tiene un segundo padre.
- Estos conjuntos concuerdan aquí porque los puntos finales son los antepasados.
- Un árbol de diferencia de nombres de archivos, no un conjunto de identidades de confirmación.
- Utilice un ID de confirmación medido en el selector de comparación.
- Compara los dos resueltos árboles sin cambiar las referencias.
- Este modo compara la fusión base con el lado derecho.
- Una gráfica divergente hace los dos rangos logarítmicos difieren.
- Registro de tres puntos y tres puntos. diff responde diferentes preguntas.
- Una selección equivocada necesita navegación, no recuperación destructiva.
- Verificar la cadena y sin cambios. CABEZA antes de ramificarse.
- A continuación, cree y cambie nombres de sucursales deliberadamente.