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.

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
- Confirmar con su mensaje.
- Ignorar: el archivo se incorpora al
.gitignore. - Rollback: el cuadro indica cuántos archivos nuevos desaparecerán del disco y cuántos recuperarán su estado del repositorio. El trabajo no confirmado se pierde; está escrito.
- Copiar › portapapeles: una línea de los cambios es un archivo del disco, y se copia como tal, para pegarla en otro sitio, también fuera de Meneaufile. Ni cortar ni pegar: la lista la recompone git, no se retira una línea de ella ni se escribe nada en ella.
- Abrir en su ubicación: el archivo está en otro sitio que su línea; esta vive en la lista, él en la copia de trabajo, donde se edita. Es allí adonde lleva la entrada.
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 á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 origen se lee en los commits. Una MR que parte de otra se coloca bajo ella, aunque ambas apunten a
main: «después de !28» indica cuál validar primero, y «apunta a main» avisa de que aún apunta amain: fusionarla primero arrastraría los commits de la otra. - Las insignias muestran el estado que da GitLab: borrador, conflictos, hay que rebasar, por aprobar, discusiones abiertas, pipeline en curso, lista.
- El botón Checkout, arriba a la derecha de cada tarjeta, pasa la copia de trabajo a la rama de la MR, para probarla o revisarla antes de validarla. La rama se recupera primero del servidor; el trabajo en curso se propone guardar, como en cualquier cambio de rama. Una marca indica la rama en la que ya se está.
- El token de acceso personal, con el permiso
read_api, se crea en GitLab: User settings › Access › Personal access tokens › Generate token. Meneaufile lo pide una vez y lo guarda en la caja fuerte, en una ficha propia; una ficha NET con la contraseña de la cuenta no se toma por un token.

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.