Español

GIT — Git

GIT Un repositorio Git se recorre como una carpeta: los archivos modificados, las ramas, el historial.

Abrir un repositorio

El botón GIT de la barra salta al proyecto favorito; su clic derecho da la lista: los repositorios conocidos, «Commit», «Historia…», las ramas, «Stash…» y «Stashes», «Etiquetas…», «Repositorios remotos». Una carpeta del disco que aún no es un repositorio ofrece allí «Clonar un repositorio aquí…». Los proyectos se añaden solos al entrar en ellos, y un proyecto cuya carpeta ha desaparecido se olvida, salvo si lo que falta es su disco: una llave desconectada no hace olvidar nada.

El estado de una carpeta

Cada línea lleva su color: en conflicto, sin seguimiento, modificado, preparado, ignorado. Git describe un archivo en dos ejes —el índice y la copia de trabajo— y una línea no tiene cómo mostrar ambos: es lo que queda por hacer lo que decide el color. La ruta de navegación indica la rama actual.

Preparar y confirmar

«Commit» abre la vista de cambios: un archivo por línea, con la columna Seguido indicando lo que git sabe de él. Se señalan las líneas como en cualquier otro sitio —clic, Ctrl+clic, Mayús+clic—, se escribe el mensaje abajo, y Confirmar envía lo que está seleccionado. Si no hay nada seleccionado, no sale nada: el botón lo indica.

La pastilla Sin seguimiento, en la barra de commit, oculta lo que git no sigue: una carpeta llena de archivos desechables ya no ahoga los dos que se quieren confirmar, y Ctrl+A ya no se los lleva. Desmarcada, indica cuántos oculta.

La vista de cambios de un repositorio: tres archivos, su estado de seguimiento y la barra de commit en la parte inferior.
Los cambios del repositorio y la barra de commit: el mensaje, lo que está seleccionado y el botón.

Ver las diferencias

«Ver las diferencias» abre el diff bloque a bloque, entre la copia de trabajo, el índice (preparado) y un commit; antes y después aparecen allí nombrados. Un archivo binario lo indica en lugar de mostrar ruido.

Los gestos

Las ramas y el historial

Crear una rama, cambiar a ella, fusionar: la entrada lleva el nombre de la rama y responde nada que fusionar: ya está al día o fusión interrumpida: hay archivos en conflicto. «Historia…» lista los commits: su hash corto, su asunto, su autor, su fecha. El margen izquierdo dibuja el grafo, cada línea con la suya, y una fusión traza su línea hacia la columna vecina. Un doble clic abre el detalle de un commit: su mensaje completo y los archivos que ha tocado.

El historial de un repositorio: cuatro commits, su asunto, su autor y el grafo de ramas en el margen.
El historial, con su grafo en el margen: dos ramas salidas de una misma raíz y la fusión que las une.

El árbol de merge requests

Árbol de merge requests…, en el menú del botón GIT, dibuja las MR abiertas del proyecto GitLab al que apunta el remoto. Cada una se coloca bajo la rama de la que parte, con una sangría por etapa, como un índice: la etapa indica en qué orden validarlas, y un clic en una tarjeta abre la MR en el navegador.

El árbol de merge requests de un repositorio: main, sus MR con sangría y una cadena de tres MR que parten unas de otras
!31 partió de !28, y !35 de !31: cada una se coloca bajo aquella cuyos commits lleva, con «después de» y «apunta a main». El botón de la derecha hace el checkout de la rama; la marca señala main, donde se está.

Intercambiar con el repositorio remoto

«Pull (traer)» y «Push (enviar)», con el número de commits en juego junto a la etiqueta; el cero no se escribe. Una rama que aún no existe en el otro lado sale con su upstream. Los repositorios remotos se declaran y se quitan desde el mismo menú. Cuando el servidor pide con qué autenticarse, Meneaufile lo pide a su vez en lugar de quedarse bloqueado sin decir nada.

Guardar aparte

«Stash…» guarda el trabajo en curso sin confirmarlo, con una descripción opcional; «Stashes» —Trabajo guardado— lista lo que espera, y desde allí se reaplica o se descarta. «Etiquetas…» pone y quita etiquetas de la misma manera.

Quién escribió esta línea

«Anotaciones», en el menú de un archivo, atribuye cada línea a su commit y a su autor. Es la pregunta que uno se hace ante una línea sorprendente, y una lista de commits no la responde.

Los conflictos

Un archivo en conflicto se abre con sus versiones: la versión común, la nuestra, la suya y el resultado que se construye. «Tomar todo» vuelca un lado entero, «Resolver» guarda; y el archivo sale de la categoría en conflicto.

Clonar

Desde una carpeta: la dirección (https://… o git@host:org/repo.git), el nombre de la carpeta a crear y un historial completo o superficial: los N últimos commits.

Los bundles

Un archivo .bundle es un repositorio Git empaquetado en un solo archivo: lo justo para llevarse un proyecto en una llave USB, o pasárselo a alguien, sin servidor. Un doble clic dice lo que contiene (sus ramas, sus etiquetas) y Clonar aquí… lo convierte en un repositorio corriente, a su lado, sin red. En un repositorio, Crear un bundle… en el menú de GIT lo empaqueta entero en la carpeta de la otra vista.

Si falta git

Meneaufile llama al git del sistema. Si está ausente o fuera del PATH, lo indica en lugar de fallar sin motivo.

Manual de Meneaufile, en español.