Conceitos básicos de Git
O que é um repositório?
Um repositório (ou "repo") é uma pasta cujo histórico de alterações é rastreado pelo Git. Toda mudança feita nos arquivos pode ser registrada, revertida e auditada. Os repositórios ficam hospedados no GitLab da UFVJM e cada pessoa trabalha com uma cópia local na própria máquina.
O que é um commit?
Um commit é um registro permanente de um conjunto de alterações. Cada commit tem:
- Um identificador único
- Uma mensagem descrevendo o que foi alterado
- A data, hora e autoria da mudança
Commits são a unidade básica de histórico do Git. Toda alteração que você quer preservar precisa virar um commit.
O que é uma branch?
Uma branch (ramo) é uma linha independente de desenvolvimento. Imagine o histórico do repositório como uma linha do tempo: uma branch é uma bifurcação dessa linha onde você pode fazer experimentos e alterações sem afetar o restante.
A branch principal chama-se main e representa o estado atual da infraestrutura em produção. Nunca se trabalha diretamente nela. Para qualquer alteração, cria-se uma branch nova, faz-se as mudanças lá, e depois integra-se de volta à main por meio de um Merge Request.
O que é push e pull?
- pull: baixar as últimas alterações do GitLab para a sua máquina
- push: enviar os commits da sua máquina para o GitLab
O que é um Merge Request (MR)?
Um Merge Request é uma solicitação para integrar as alterações de uma branch de trabalho na main. Ele serve como ponto de revisão: outra pessoa analisa o que vai ser feito antes que qualquer coisa seja aplicada em produção.
No GitLab, o MR também dispara o pipeline de CI automaticamente, gerando um preview (plan/diff) das mudanças na infraestrutura.
O que é um pipeline de CI?
CI significa Integração Contínua. O pipeline é um conjunto de scripts que rodam automaticamente no GitLab quando há um push ou um MR. Nos repositórios DICOM, o pipeline verifica e pré-visualiza o que seria alterado na infraestrutura — mas nunca aplica nada automaticamente. A aplicação final sempre exige aprovação manual.