tag - ¿Guía para entender gitk?
how to delete tag git (4)
Estoy presentando git a un equipo de desarrolladores y encuentro que gitk es una herramienta increíble. También es bastante difícil de entender, ya que entender gitk requiere una comprensión tanto del historial de git como de la herramienta del visor.
¿Alguien tiene alguna buena referencia de algo así como una "guía para principiantes sobre la historia de git con gitk"?
Aquí hay una introducción a la visualización del historial de sucursales en gitk con capturas de pantalla.
http://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/
- El panel superior izquierdo muestra la serie de confirmaciones a este repositorio, con la más reciente en la parte superior.
- Hubo tres compromisos, todos por Tony Stark.
- El mensaje de confirmación para la confirmación más reciente fue "tercer compromiso"
- Hay una sola rama local, llamada "maestra", apunta al compromiso más reciente
- Hay una única rama de referencia remota: la rama "principal" del repositorio remoto llamada "origen", también apunta a la confirmación más reciente
- El punto amarillo al lado de la confirmación superior indica que es la instantánea actualmente en mi carpeta de trabajo (denominada HEAD)
- He resaltado el segundo compromiso, para poder ver sus detalles en el panel inferior
- El SHA de confirmación (identificador único, similar al número de revisión de subversión) del segundo compromiso es
3d024dd9e4a83d8c6a9a143a68b75d4b872115a6- La esquina inferior derecha muestra la lista de archivos afectados por el segundo compromiso
- La esquina inferior izquierda muestra los detalles de confirmación, incluida la diferencia completa
- Al hacer clic en un archivo en el panel inferior derecho se desplaza la diferencia en el panel inferior izquierdo a la sección correspondiente 12.
Lo único que encuentro útil sobre la interfaz de gitk es la descripción general de las sucursales (coloridas).
Si quieres una guía para git, mira TortoiseGit en Windows o GitX en Mac o QGit en Linux.
Lo que los novatos podrían usar realmente en términos de "combinación de gitk e historia" es una explicación específica de cómo reconocer lo que sucedió al observar la vista de árbol de gitk.
Por lo que tengo, la forma correcta de mirar el árbol es (por supuesto):
1. each node is a commit
2. ultimate parent is at the bottom
3. direct child to a commit is the one that happened first in the same branch (no matter who did it)
4. the node with 2 or more children indicates ... ?
5. merge commit node has 2 parents.
6. rebase is recognized ... ?
Las capturas de pantalla también serían apreciadas.
El árbol en realidad representa el estado actual del repositorio. Lo que sería genial es si pudiéramos saber qué pasó mirando la vista de árbol.
Gracias
v.
Nunca he visto nada específicamente para gitk. Aquí hay una puñalada, desde el punto de vista de "cómo funciona". Conocer los comandos que están detrás de todo (o al menos generalmente equivalentes) ayuda a aprender a utilizar las herramientas de línea de comandos más fácilmente, y también le muestra dónde buscar en la documentación para comprender mejor a gitk.
Menú Archivo
Esto ha cambiado un poco en las últimas versiones principales: estoy describiendo el estado actual.
actualización y recarga: esta es probablemente la cosa más confusa. Recargar actualiza todo como si comenzaras el programa con la misma configuración. Esto significa que si se ha eliminado / cambiado una rama, si algunas confirmaciones están ahora colgando, ya no las verá. La actualización, por otro lado, actualiza toda la información, pero aún muestra todas las confirmaciones que se mostraron anteriormente. Esto es algo excelente de usar si está redefiniendo y quiere asegurarse de que no se haya equivocado: puede ver tanto las versiones originales como las renovadas.
referencias: bastante obvio. Las referencias incluyen etiquetas y ramas (que pueden ser remotas). Puede volver a leerlos y hacer una lista para hacer clic en uno en particular para mostrarlo en el historial.
Puntos de vista
Como dice la página man , gitk toma las opciones de git-rev-list para ayudar a especificar qué historial debe mostrarse. Estos también se pueden establecer interactivamente en el menú "ver". La página de manual es un excelente lugar para encontrar más información sobre las formas en que puede controlar las vistas (principalmente en la sección de limitación de confirmaciones). Si has visto git-log
anteriormente, habrás visto mucho de esto.
Ayuda
¡Aquí hay una lista de combinaciones de teclas! Dulce.
Menú de contexto
Esto presenta varios comandos comunes de git porcelain, generalmente en un modo de operación común / predeterminado. ¡Enlistarlos al menos lo ayudará a encontrar la documentación correcta para comprender lo que hacen, si no lo hace ya!
- git-diff (Diff this <-> selected
- git-format-patch (make patch)
- git-tag (crear etiqueta)
- git-diff-tree (escritura de compromiso para archivar, raramente usada)
- git-branch
- git-cherry-pick
- git-reset (restablecer la bifurcación a aquí) Esto lo indica para soft, mixed o hard, con un breve recordatorio de lo que hace cada uno. Descripción más larga en la página del manual, pero, por supuesto, debe comprender el concepto del índice para obtenerlo realmente.
El "marcar una confirmación" y los comandos relacionados deberían explicarse por sí mismos en este punto.
En el menú contextual de una rama, tenemos git-checkout y el modo -d
(eliminar) de git-branch.
Sección del medio
SHA1 ID: el hash de la confirmación actual. Muy útil para copiar / pegar en un terminal para realizar una acción en un compromiso determinado que usaste para encontrar gitk. También puedes pegar hashes aquí.
Botones adelante / atrás, número de fila ... ¡obvio!
¡Encontrar! Las opciones aquí son, de nuevo, bastante autoexplicativas, pero para la educación de todos, son análogas a git-log parámetros de git-log : "contener" es
--grep
, "tocar rutas" es los argumentos, y agregar / eliminar cadena es-S
( pico).
Mensaje / panel de diferencia
Aquí tenemos el mensaje de confirmación junto con la salida de git-diff, esto es algo así como usar git-log -p
, con un poco más:
"Sucursales" es equivalente a
git branch -a --contains=<commit>
"Precedes" / "Follows" es equivalente a
git describe [--contains] <commit>
( git-describe )