Lección 16 · trabajo diario
Corregir un mensaje o contenido de confirmación local
Corrija un error tipográfico y un mensaje en una confirmación de héroe privada manteniendo su sugerencia anterior. Descubra por qué la modificación reemplaza la identidad y por qué el contenido preparado no relacionado debe permanecer fuera.
- Nivel: Intermedio
- 9 minutos de lectura
- 5 minutos de vídeo
- Actualizado
- Antes de esta lección: Ignore archivos y limpie el trabajo sin seguimiento de forma segura
Progreso guardado en este navegador.
La reproducción carga el vídeo de YouTube (modo de privacidad mejorada).
lo que aprenderás
- Inspeccione la confirmación que se está reemplazando.
- Separe los contenidos modificados de la edición de solo mensajes.
- Conserve la antigua punta comprometida.
- Verifique la nueva identidad y el padre sin cambios.
Antes de empezar
Comience con una copia separada del resultado de la lección 15, en un escenario/enmienda de rama. La página HEADING_DRAFT completa está confirmada como solución: hedaing; el árbol de trabajo está limpio y la confirmación no está publicada. rescatar/antes de modificar nombres que precisan el borrador de la sugerencia.
El vídeo fue grabado con Git 2.52.0 y GitTree 2.0 en Ubuntu 24.04: la corrección, la modificación y la edición de solo mensaje se realizaron en la aplicación; el reclutamiento, su rama de salvamento y los controles se realizaron en la terminal. No se ejecutó nada en macOS o Windows, y Ubuntu es el único sistema Linux registrado. El nivel mínimo de Git de origen de GitTree es 2.39.0.
GitTree te pide que inicies sesión; El plan gratuito cubre cada paso aquí. No se necesita cuenta de proveedor, Pro/trial, credencial API o servicio de Internet. Un origen desnudo local no es GitLab o CI. Todas las identidades utilizan example.com; nunca ejecute esta lección dentro de un proceso de pago de código fuente.
Realice mutaciones a través de GitTree o la ruta nativa en entradas idénticas, no ambas consecutivamente. La verificación de solo lectura puede seguir a cualquiera de los dos. Cualquier preparación descrita como trabajo terminal se etiqueta como preparación nativa, nunca como característica inventada de una aplicación.
Efectos de concepto y estado.
Modificar escribe un reemplazo para la última confirmación del índice actual. No se agrega un pequeño registro de corrección a la confirmación anterior. El contenido y el mensaje pueden cambiar juntos, mientras que el objeto antiguo puede permanecer accesible a través de la referencia de rescate.
La edición de solo mensajes no debe incluir silenciosamente cambios por etapas no relacionados. La ruta Editar mensaje de confirmación… de la aplicación reescribe la confirmación/descendientes seleccionados; difiere de la ruta del compositor Modificar confirmación anterior que se muestra aquí.
Aquí el sujeto cambiado garantiza una identidad de objeto diferente. El mismo padre no significa el mismo compromiso. No enseñe la modificación como una edición inofensiva de un compromiso publicado en el que otros ya han trabajado.
El nuevo contenido del índice se convierte en confirmación de reemplazo; rama del escenario/HEAD mueve antiguo C→C′, el padre permanece M, trabajo/índice limpio. El rescate sigue siendo C; servidor/principal original sin cambios.
Prepare el estado exacto del proyecto
Comience a partir de una copia ordinaria separada del proyecto limpio tal como lo dejó la lección 15. Las características originales de gittree permanecen conservadas; No ejecute este escenario en el pago original o en el código fuente. (Un plan anterior del curso comenzó esta lección a partir del resultado de una lección fusionada posterior; esa lección aún no está grabada, por lo que el video usa el proyecto de la lección 15 y los mismos pasos). Los dos cuerpos de página siguientes son el index.html del proyecto con solo el encabezado principal cambiado. La firma de demostración local del repositorio está desactivada y GitTree Demo <demo@example.com> es la identidad.
Entradas de archivos completas
Guarde solo en la fase que se menciona a continuación. Estos son cuerpos UTF-8/LF completos con una nueva línea final; Nunca pegues vallas Markdown. Los archivos ejecutables sin cambios heredan la entrada nombrada. Las versiones en variantes separadas no deben sobrescribir el original.
index.html — HEADING_DRAFT
<!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>
<link rel="stylesheet" href="styles.css">
</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">See your work cleary.</h1>
<p id="hero-copy">Choose one change, then check what Git saved.</p>
</section>
<section class="features" aria-labelledby="features-title">
<h2 id="features-title">Follow your work</h2>
<div class="cards">
<article class="feature-card">
<h3>History</h3>
<p>Read commits and branches together.</p>
</article>
<article class="feature-card">
<h3>Changes</h3>
<p>Review the exact content selected for a commit.</p>
</article>
<article class="feature-card">
<h3>Recovery</h3>
<p>Inspect the scope of a recovery point before using it.</p>
</article>
</div>
</section>
</main>
<footer><p>Built by a fictional team for GitTree Learn. Review one change at a time.</p></footer>
<script type="module" src="site.js"></script>
</body>
</html>index.html — HEADING_FIXED
<!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>
<link rel="stylesheet" href="styles.css">
</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">See your work clearly, one change at a time.</h1>
<p id="hero-copy">Choose one change, then check what Git saved.</p>
</section>
<section class="features" aria-labelledby="features-title">
<h2 id="features-title">Follow your work</h2>
<div class="cards">
<article class="feature-card">
<h3>History</h3>
<p>Read commits and branches together.</p>
</article>
<article class="feature-card">
<h3>Changes</h3>
<p>Review the exact content selected for a commit.</p>
</article>
<article class="feature-card">
<h3>Recovery</h3>
<p>Inspect the scope of a recovery point before using it.</p>
</article>
</div>
</section>
</main>
<footer><p>Built by a fictional team for GitTree Learn. Review one change at a time.</p></footer>
<script type="module" src="site.js"></script>
</body>
</html>En GitTree
Paleta: Comando+Mayús+P (Ctrl+Mayús+P en Ubuntu); escriba el comando con nombre exacto y selecciónelo. Las acciones de referencia con nombre usan el menú contextual de esa fila, no un acceso directo de paleta sin argumentos.
- Prepare la rama privada de reclutamiento y rescate como se muestra a continuación; Confirme que ningún control remoto contiene el borrador.
- Mostrar archivos → index.html; guarde el HEADING_FIXED completo, conservando el resto del contenido de la página.
- Mostrar cambios de trabajo; Inspeccione únicamente el reemplazo del encabezado previsto y el archivo Stage index.html.
- En el compositor marque Amend Previous Commit; inspeccione la última confirmación real que se está reemplazando, no una selección de gráfico anterior. (En esta compilación, el campo Resumen no se completa con el mensaje anterior; el nuevo se escribe en el siguiente paso).
- Configuración del resumen: aclarar el título del héroe. Mantenga desactivados los comportamientos opcionales de empujar, cerrar sesión, omitir ganchos y otros; revisar contenidos escenificados.
- Envíelo una vez con Comando+Entrar (Ctrl+Entrar en Ubuntu) del compositor; Espere a que se complete realmente. No envíe una segunda confirmación ordinaria. La opción Modificar confirmación anterior se desactiva automáticamente después.
- Verifique que C′ real difiera del rescate C, mismo padre, HEADING_FIXED completo y trabajo limpio. Desactive Modificar compromiso anterior antes del trabajo ordinario posterior.
- Alternativa de solo mensaje, en una copia separada que todavía tiene el borrador: haga clic con el botón derecho en el borrador confirmado → Edit History → Edit Commit Message…. El cuadro de diálogo se titula "Editar mensaje de" la identificación corta de la confirmación y dice que la confirmación y todas las confirmaciones anteriores obtienen nuevas identificaciones. Reemplace Message con el asunto corregido exacto y elija Save Message. El árbol y el padre siguen siendo los mismos; solo cambian la identificación y el mensaje. No repita esto en el resultado modificado.
Para cada confirmación ordinaria: el resumen es el tema indicado; Descripción vacía; Modificar la confirmación anterior, omitir enlaces, agregar firmada por otro autor, presionar después de la confirmación y permitir la confirmación vacía; sin coautores. Prepare solo los archivos nombrados, luego confirme los cambios en N archivos una vez (Archivo para uno), o Comando+Entrar como alternativa. Espere el resultado real. Una lección que modifica explícitamente cambia sólo esa opción indicada.
en la terminal
En la copia separada del resultado de la lección 15:
git switch --create scenario/amendColoque HEADING_DRAFT sobre index.html (el video guardó el archivo de la lección en ~/Descargas y usa cp ~/Downloads/HEADING_DRAFT.html index.html), luego:
git add -- index.html
git commit --quiet -m "fix: hedaing"
git branch rescue/before-amendGuarde el HEADING_FIXED completo y luego:
git add -- index.html
git commit --quiet --amend --message "fix: clarify the hero heading"
git log -1 --format=%s
git rev-parse HEAD rescue/before-amend HEAD^ rescue/before-amend^
git status --shortSujeto observado:
fix: clarify the hero headingLas dos primeras salidas SHA difieren; los dos últimos están de acuerdo. El archivo grabado completo es igual a HEADING_FIXED, trabajo limpio. La alternativa nativa de solo mensajes en una copia borrador limpia separada usa git commit --amend --only -m "fix: aclarar el título principal"; --only evita incluir rutas preparadas no relacionadas para esa tarea de solo mensajes. La operación de reformulación del gráfico de la aplicación es una ruta distinta respaldada por fuente; verifíquelo en la compilación instalada.
Resultado
Where you end: La confirmación de reemplazo dice solución: aclara el encabezado principal y contiene HEADING_FIXED completo; el padre coincide con el padre de la confirmación anterior, el ID difiere; viejo consejo rescatado; limpio, inédito.
Errores comunes
- Modificación con archivos preparados no relacionados.
- Tratar el panel alternativo como el punto de control original.
- Repetir una mutación completada después del éxito de la aplicación.
Si algo sale mal
La rama de rescate nombra el antiguo borrador comprometido. Compare antes de elegir una restauración; no conserva ediciones arbitrarias no preparadas. Si los enlaces/firmas fallan, inspeccione el resultado real, no los omita para que coincidan con la lección.
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
Demuestre el mismo padre, ID de objeto modificado, encabezado/mensaje corregido exacto y estado limpio. Prediga cómo un archivo preparado adicional cambia el contenido de la modificación del compositor en una repetición separada.
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
- Modificar crea un reemplazo.
- El índice controla el contenido modificado.
- Solo mensajes es un ámbito independiente.
Relacionado
Términos del glosario introducidos
Modificar — تعديل الإيداع الأخير; reformular — إعادة صياغة; compromiso de reemplazo - إيداع بديل.
Transcripción del vídeo
La narración del vídeo, cue a cue.
Mostrar la transcripción
- Comience desde el punto de control exacto.
- Nombra la sucursal, índice y versión funcional.
- Prepare sólo la copia aislada del curso.
- Proteger el borrador privado antes de reemplazarlo.
- Guarde la corrección completa prevista.
- Revise el índice, no sólo el mensaje.
- Modificar reemplaza la última confirmación real.
- Escribe el tema corregido explícitamente.
- Envíe el reemplazo solo una vez.
- Mismo padre no significa misma identidad.
- La edición de solo mensajes tiene un alcance separado.
- ¿Qué crea la enmienda?
- Los objetos Git son inmutables; el reemplazo obtiene una nueva identificación.
- ¿Qué hay que revisar?
- La modificación del compositor utiliza el índice. y el último contexto de confirmación.
- ¿Padre de C′ corregido?
- El reemplazo ocupa la misma posición de ascendencia.
- Agregar una puesta en escena no relacionada archivo antes de modificar: ¿contenido?
- El índice actual define el árbol de reemplazo.
- Se publicó el borrador: ¿proceder como privado?
- La identidad publicada puede ser utilizada por otros.
- ¿Qué evidencia se requiere?
- Verifique ambos reemplazos identidad y contenido previsto.
- Verifique el resultado real, no sólo un mensaje.
- Predecir la entrada modificada antes de actuar.
- Preservar el trabajo útil antes de la recuperación.
- Pruebe el punto de control antes de continuar.
- Mantener el resultado verificado para el siguiente paso.