Gitte é um cliente gráfico para Git desenvolvido especificamente para o ambiente GNOME, escrito em Rust e construído sobre GTK 4 e libadwaita. Inspirado no Git Tower — mas com foco em integração nativa com o desktop Linux moderno — o projeto traz uma proposta distinta: leveza, conformidade com as diretrizes de design do GNOME e suporte robusto a fluxos de trabalho avançados. O nome “Gitte” é um trocadilho com a forma diminutiva do nome alemão Brigitte, pronunciado “Git-ty”, com “G” duro — como em GIF.
Interface e experiência do usuário

A interface do Gitte segue estritamente as convenções do GNOME, graças ao uso de libadwaita (versão ≥ 1.6) e GTK 4 (≥ 4.16). Isso resulta em um visual limpo, responsivo e coerente com aplicações nativas como Files, Builder ou Epiphany. Os painéis são redimensionáveis e suas posições são persistidas entre sessões, assim como o tamanho da janela. A aplicação suporta múltiplas janelas simultâneas — recurso útil para quem gerencia diversos repositórios em paralelo.
A internacionalização é feita via Gettext, com suporte a traduções ativas — embora a cobertura linguística ainda dependa da contribuição da comunidade. A navegação por atalhos de teclado é extensa e bem pensada, incluindo combinações como Ctrl+P para pull, Ctrl+Shift+P para push e Space/Enter para stage/unstage. Essa fluidez torna o Gitte especialmente adequado para usuários que priorizam produtividade sem abandonar a estética do desktop.
Funcionalidades completas para fluxos profissionais
Gitte não se limita a operações básicas. Oferece suporte granular a todos os estágios do ciclo de vida de um commit: desde visualização de alterações por linha ou hunk, até descarte seletivo de mudanças, amending de commits e navegação paginada pelo histórico. O visualizador interativo de diffs destaca adições (verde) e remoções (vermelho), com realce sintático para linguagens como Rust — e cabeçalhos fixos (sticky headers) durante o scroll, melhorando muito a legibilidade.
No gerenciamento de branches, há suporte a ahead/behind em tempo real, troca inteligente entre branches com stash automático quando o diretório de trabalho está sujo, e agrupamento colapsável de branches no painel lateral. Tags podem ser criadas como lightweight ou annotated, ordenadas por versão semântica, data ou ordem alfabética — um diferencial para projetos que seguem boas práticas de versionamento.
As operações de pull e push oferecem estratégias explícitas (fast-forward, merge, rebase), detecção de conflitos e opções como fetch tags, prune tracking branches e auto-stash. Já o módulo de stashes permite criar, aplicar, remover e inspecionar diffs de stashes, inclusive com inclusão opcional de arquivos não rastreados.
Integração com credenciais e infraestrutura
Gitte lida com autenticação de forma segura e moderna: suporta agentes SSH nativos e autenticação HTTP básica com armazenamento criptografado via Secret Service (D-Bus), integrando-se perfeitamente ao keyring do GNOME. Isso elimina a necessidade de tokens expostos ou senhas em texto claro.
Para ambientes Flatpak — a forma recomendada de distribuição — o aplicativo usa permissões granulares. Por padrão, acessa apenas o diretório home (--filesystem=home), mas permite sobrescrever permissões para ler /etc/gitconfig, por exemplo. Também oferece opção avançada para usar o binário git do sistema hospedeiro (via flatpak-spawn --host) — útil para hooks personalizados, helpers de credenciais específicos ou builds locais do Git — embora isso exija autorização explícita por segurança.
Desempenho, construção e compatibilidade
O Gitte é compilado com a toolchain Rust estável e depende de bibliotecas nativas bem mantidas: libgit2, meson e ninja. Pacotes pré-construídos estão disponíveis para Fedora (dnf install gtk4-devel libadwaita-devel libgit2-devel meson ninja-build), Arch Linux (via AUR: gitte-git) e NixOS (nix develop). A compilação local segue o fluxo padrão Meson:
meson setup builddir
meson compile -C builddir
meson install -C builddir
Atenção: o arquivo
src/config.rsé gerado automaticamente pelo Meson a partir desrc/config.rs.in. É necessário executarmeson compileantes de qualquercargo checkoucargo build.
O desempenho é ágil mesmo em repositórios de médio porte, graças ao uso eficiente de libgit2 e à arquitetura concorrente em Rust. Não há relatos de travamentos ou vazamentos de memória em cenários de uso contínuo — mas, como projeto ainda em desenvolvimento ativo, algumas funcionalidades avançadas (como rebase interativo completo ou cherry-pick guiado) ainda não estão implementadas.
Comparação com alternativas
Em comparação com clientes como GitKraken (fechado, com dependência de conta online), GitHub Desktop (limitado a repositórios GitHub/GitLab) ou até o próprio gitg (mais simples e menos atualizado), o Gitte se posiciona como uma alternativa open source, privada por padrão, profundamente integrada ao ecossistema GNOME e tecnicamente sólida. Diferentemente do Fork (que roda bem no Linux, mas é baseado em Qt), o Gitte entrega uma experiência verdadeiramente nativa — sem camadas de compatibilidade ou temas forçados.
No entanto, não substitui ferramentas CLI especializadas como tig ou git-machete para workflows altamente automatizados. Sua força está na combinação de usabilidade visual e controle preciso — ideal para desenvolvedores que usam GNOME diariamente e valorizam simplicidade sem abrir mão de poder.
Contribuição e licença
O projeto aceita contribuições, mas com critérios rigorosos: todo código deve passar em cargo clippy sem avisos, e submissões geradas por LLMs (como ChatGPT ou GitHub Copilot) são explicitamente rejeitadas. Isso garante manutenibilidade, compreensão profunda do código-fonte e facilidade de revisão — um sinal positivo de maturidade técnica e governança responsável.
Gitte é distribuído sob a licença AGPL-3.0-or-later, garantindo liberdade de uso, modificação e redistribuição — com a exigência ética de compartilhar alterações em versões derivadas disponibilizadas como serviço.
Veredito: para quem é recomendado?
Gitte é recomendado para desenvolvedores Linux que usam GNOME como ambiente principal e buscam um cliente Git gráfico moderno, seguro, livre e bem integrado — sem comprometer capacidade técnica. É especialmente indicado para times que adotam boas práticas de versionamento (tags semânticas, branches rastreados, stashes organizados) e valorizam privacidade e controle sobre as próprias ferramentas.
Não é a melhor escolha para iniciantes absolutos (que talvez prefiram interfaces mais guiadas, como o GitHub Desktop) nem para quem depende de integrações específicas com plataformas proprietárias (ex.: Azure DevOps pipelines nativos). Mas para o público-alvo certo, representa um dos clientes Git mais promissores da atualidade — e uma referência crescente em software livre para desktop Linux.