Categoria

Git

Git LFS: versionando arquivos grandes
Git

Git LFS: versionando arquivos grandes

O Git foi projetado para versionar arquivos de texto e código-fonte, não para lidar com binários pesados. Quando um arquivo grande (como um vídeo de 500 MB ou um dataset de 1 GB) é adicionado ao repositório, o Git armazena cada versão completa desse arquivo no histórico. O resultado é um inchaço acelerado do repositório, lentidão em clones e fetches, e um crescimento descontrolado da pasta .git.

05/05/2026
Git log: visualizando o histórico de commits
Git 05/05/2026

Git log: visualizando o histórico de commits

O histórico de commits é o coração do Git. Cada commit registra um ponto na evolução do seu projeto, contendo informações como autor, data, hash único e mensagem descritiva. Visualizar esse histórico é essencial para entender o que foi feito, quem fez e quando.

Git notes: adicionando metadados a commits sem reescrever
Git 05/05/2026

Git notes: adicionando metadados a commits sem reescrever

Git notes são objetos especiais do Git que permitem anexar informações adicionais a commits sem alterar o hash SHA do commit original. Diferentemente de git commit --amend, que reescreve o histórico e modifica o identificador do commit, as notas são armazenadas em uma referência separada (refs/notes/) e associadas ao commit por meio de um ponteiro interno.

Git over HTTPS vs SSH: trade-offs de segurança e conveniência
Git 05/05/2026

Git over HTTPS vs SSH: trade-offs de segurança e conveniência

Ao interagir com repositórios remotos no Git, o protocolo de transporte define como os dados são transmitidos e como a identidade do usuário é verificada. Os dois protocolos mais comuns são HTTPS e SSH, cada um com abordagens distintas de autenticação e segurança.

Git push e rastreamento de branches remotas
Git 05/05/2026

Git push e rastreamento de branches remotas

No Git, uma branch local existe apenas no seu repositório local, enquanto uma branch remota reside em um repositório remoto (como GitHub, GitLab ou Bitbucket). O comando git push é a ferramenta que transfere commits do seu repositório local para o remoto, sincronizando o trabalho entre desenvolvedores.

Git range-diff: comparando séries de commits entre branches
Git 05/05/2026

Git range-diff: comparando séries de commits entre branches

O git range-diff é um comando Git introduzido na versão 2.19 que permite comparar duas séries de commits entre si, identificando correspondências e diferenças entre elas. Diferentemente do git diff (que compara o conteúdo de arquivos) e do git log (que exibe o histórico de commits), o range-diff opera em um nível mais alto: ele compara conjuntos de commits como sequências, detectando quais commits foram mantidos, modificados, reordenados ou removidos.

Git reset: desfazendo commits com segurança
Git 05/05/2026

Git reset: desfazendo commits com segurança

O Git reset é uma das ferramentas mais poderosas — e potencialmente perigosas — do ecossistema Git. Ele permite que você mova o ponteiro HEAD para trás no histórico de commits, "desfazendo" o trabalho de forma controlada. Diferente do git revert, que cria um novo commit desfazendo as alterações anteriores, o reset reescreve o histórico. Já o git commit --amend serve apenas para modificar o commit mais recente.

Git revert: desfazendo sem reescrever o histórico
Git 05/05/2026

Git revert: desfazendo sem reescrever o histórico

O git revert é um comando do Git projetado para desfazer alterações sem modificar o histórico existente. Diferentemente do git reset, que remove commits e reescreve a linha do tempo, o revert cria um novo commit que aplica o inverso das mudanças do commit-alvo. Isso preserva a integridade do histórico, tornando-o seguro para branches públicas e repositórios compartilhados.

Git stash: guardando trabalho inacabado
Git 05/05/2026

Git stash: guardando trabalho inacabado

O Git stash é uma funcionalidade que permite salvar temporariamente alterações não commitadas em uma pilha (stack) isolada, liberando o diretório de trabalho para outras operações. Pense nele como um "rascunho" que você pode guardar e recuperar depois, sem precisar criar commits incompletos.