GIT — Git
GIT Um repositório Git percorre-se como uma pasta: os ficheiros alterados, os ramos, o histórico.
Abrir um repositório
O botão GIT da barra salta para o projeto favorito; o seu clique direito dá a lista: os repositórios conhecidos, «Commit», «Histórico…», os ramos, «Stash…» e «Stashes», «Tags…», «Repositórios remotos». Uma pasta do disco que ainda não é um repositório propõe aí «Clonar aqui». Os projetos acrescentam-se sozinhos ao entrar neles, e um projeto cuja pasta desapareceu é esquecido — exceto se for o seu disco que falta, uma pen desligada não fazendo esquecer nada.
O estado de uma pasta
Cada linha traz a sua cor: em conflito, não rastreado, modificado, preparado, ignorado. Um ficheiro é descrito pelo git em dois eixos — o índice e a cópia de trabalho — e uma linha não tem como mostrar os dois: é o que resta fazer que decide a cor. O caminho de navegação diz o ramo atual.
Preparar e fazer commit
«Commit» abre a vista das alterações: um ficheiro por linha, a coluna Rastreado a dizer o que o git sabe dele. Designam-se as linhas como em todo o lado — clique, Ctrl+clique, Shift+clique —, escreve-se a mensagem em baixo, e Commit parte com o que está selecionado. Nada selecionado, nada parte: o botão di-lo.
A pastilha Não seguidos, na barra de commit, oculta o que o git não segue: uma pasta cheia de ficheiros descartáveis já não afoga os dois que se querem submeter, e Ctrl+A já não os leva. Desmarcada, diz quantos oculta.

Mostrar as diferenças
«Mostrar as diferenças» abre o diff bloco a bloco, entre a cópia de trabalho, o índice (preparado) e um commit — antes e depois aí são nomeados. Um ficheiro binário di-lo em vez de mostrar ruído.
Os gestos
- Commit com a sua mensagem.
- Ignorar: o ficheiro junta-se ao
.gitignore. - Reverter: a caixa diz quantos ficheiros novos sairão do disco e quantos retomarão o seu estado do repositório. O trabalho sem commit é perdido — está escrito.
- Copiar › área de transferência: uma linha das alterações é um ficheiro do disco, e copia-se como tal — para o colar noutro sítio, incluindo fora do Meneaufile. Nem cortar nem colar: a lista é recomposta pelo git, não se retira uma linha nem se escreve nela.
- Abrir na localização: o ficheiro está noutro sítio que não a sua linha — esta vive na lista, ele na cópia de trabalho, onde se edita. É para lá que a entrada leva.
Os ramos e o histórico
Criar um ramo, mudar para ele, fundir — a entrada traz o nome do ramo, e responde nada a fundir: já atualizado ou fusão interrompida: há ficheiros em conflito. «Histórico…» lista os commits: o seu identificador curto, o seu assunto, o seu autor, a sua data. A goteira da esquerda desenha o grafo, cada linha na sua, e uma fusão traça o seu risco em direção à coluna vizinha. Um duplo clique abre o pormenor de um commit: a sua mensagem inteira e os ficheiros que tocou.

A árvore de merge requests
Árvore de merge requests…, no menu do botão GIT, desenha as MR abertas do projeto GitLab indicado pelo remoto. Cada uma fica sob o ramo de que parte, com um recuo por etapa, como um índice: a etapa diz em que ordem validá-las, e um clique num cartão abre a MR no navegador.
- A origem lê-se nos commits. Uma MR que parte de outra fica sob ela, mesmo quando ambas visam
main: «após !28» diz qual validar primeiro, e «destino main» avisa que ainda visamain— fundi-la primeiro levaria os commits da outra. - Os distintivos mostram o estado dado pelo GitLab: rascunho, conflitos, a rebasear, a aprovar, discussões abertas, pipeline em curso, pronta.
- O botão Checkout, no canto superior direito de cada cartão, passa a cópia de trabalho para o ramo da MR, para a experimentar ou rever antes de a validar. O ramo é primeiro obtido do servidor; o trabalho em curso pode ser guardado, como em qualquer mudança de ramo. Um visto marca o ramo em que já se está.
- O token de acesso pessoal, com a permissão
read_api, cria-se no GitLab: User settings › Access › Personal access tokens › Generate token. O Meneaufile pede-o uma vez e guarda-o no cofre, numa ficha própria; uma ficha NET com a palavra-passe da conta não é tomada por token.

main, onde se está.Trocar com o repositório remoto
«Pull» e «Push», com o número de commits em jogo ao lado do rótulo — o zero não se escreve. Um ramo que ainda não existe do outro lado parte com o seu upstream. Os repositórios remotos declaram-se e retiram-se a partir do mesmo menu. Quando o servidor pede com que se autenticar, o Meneaufile pede-o por sua vez em vez de ficar bloqueado sem dizer nada.
Pôr de lado
«Stash…» arruma o trabalho em curso sem fazer commit, com uma descrição facultativa; «Stashes» — Trabalho guardado — lista o que aguarda, e daí retoma-se ou deita-se fora. «Tags…» põe e retira etiquetas da mesma forma.
Quem escreveu esta linha
«Anotações», no menu de um ficheiro, atribui cada linha ao seu commit e ao seu autor. É a pergunta que se faz perante uma linha surpreendente, e uma lista de commits não lhe responde.
Os conflitos
Um ficheiro em conflito abre-se sobre as suas versões: a versão comum, a nossa, a deles, e o resultado que se constrói. «Aceitar tudo» leva um lado inteiro, «Resolver» regista — e o ficheiro sai da categoria em conflito.
Clonar
A partir de uma pasta: o endereço
(https://… ou git@host:org/repo.git), o nome da pasta
a criar, e um histórico completo ou superficial — os últimos N commits.
Os bundles
Um ficheiro .bundle é um repositório Git embalado num único ficheiro:
o bastante para levar um projeto numa pen, ou passá-lo a alguém, sem servidor. O
duplo clique diz o que ele contém — os seus ramos, as suas tags — e
Clonar aqui… faz dele um repositório comum, ao lado dele, sem
rede. Num repositório, Criar um bundle… no menu do GIT embala-o
inteiro na pasta da outra vista.
Se o git faltar
O Meneaufile chama o git do sistema. Ausente ou fora do PATH, di-lo
em vez de falhar sem razão.
Manual do Meneaufile, em português.