Pregunta ¿Guía para entender gitk? [cerrado]


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"?


75
2017-10-15 05:59


origen


Respuestas:


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 el página man dice, toma gitk git-rev-list opciones para ayudar a especificar qué historia se debe mostrar. 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 mirado git-log antes, 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 esto <-> seleccionado
  • git-format-patch (hacer parche)
  • git-tag (crear etiqueta)
  • git-diff-tree (escriba commit to file, rara vez se usa)
  • git-branch
  • git-cherry-pick
  • git-reset (reiniciar la bifurcación hasta 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 sucursal, tenemos git-checkout y el -d (eliminar) modo 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 explicativas, pero para la educación de todos, son análogas a git-log parámetros: "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 git-log -p, con un poco más:

  • "Ramas" es equivalente a git branch -a --contains=<commit>

  • "Precedes" / "Follows" es equivalente a git describe [--contains] <commit> (git-describe)


90
2017-10-15 07:29



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/

  1. El panel superior izquierdo muestra la serie de confirmaciones a este repositorio, con la más reciente en la parte superior.
  2. Hubo tres compromisos, todos por Tony Stark.
  3. El mensaje de confirmación para la confirmación más reciente fue "tercer compromiso"
  4. Hay una sola rama local, llamada "maestra", apunta al compromiso más reciente
  5. Hay una única rama de referencia remota: la rama "principal" del repositorio remoto denominada "origen", que también apunta a la mayoría   compromiso reciente
  6. El punto amarillo al lado de la confirmación superior indica que es la instantánea actualmente en mi carpeta de trabajo (denominada HEAD)
  7. He resaltado el segundo compromiso, para poder ver sus detalles en el panel inferior
  8. El SHA de confirmación (identificador único, similar al número de revisión de subversión) del segundo compromiso es
      3d024dd9e4a83d8c6a9a143a68b75d4b872115a6
  9. La esquina inferior derecha muestra la lista de archivos afectados por el segundo compromiso
  10. La esquina inferior izquierda muestra los detalles de confirmación, incluida la diferencia completa
  11. 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.

21
2017-07-02 10:52



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.


3
2018-02-18 19:36



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.


1
2017-10-15 07:32