Git GUI: clientes gráficos do Git — TortoiseGit, GitKraken, VS Code e outros
Um Git GUI é um cliente gráfico que mostra o histórico, as branches e as alterações numa janela, em vez da linha de comando. Opções populares: a interface Git embutida no VS Code e nas IDEs JetBrains, o GitHub Desktop para tarefas simples, o TortoiseGit e o Git Extensions para Windows, o GitKraken e o Sourcetree para trabalhar visualmente com branches; todos funcionam sobre o Git comum.
O que é um Git GUI e se você precisa de um
Um Git GUI é um aplicativo gráfico para trabalhar com o Git: em vez de comandos, você vê a lista de arquivos alterados, a árvore de commits e botões como "Commit", "Push", "Merge". Por baixo dos panos, praticamente qualquer cliente git executa as mesmas operações da linha de comando, e muitos literalmente chamam o git instalado no sistema. Por isso, um GUI não é um sistema de controle de versão à parte, e sim outra forma de gerenciar o mesmo repositório.
Um cliente gráfico é especialmente bom para três tarefas: ver o histórico e as branches em forma de grafo, adicionar alterações parcialmente (escolher linhas específicas para o commit com o mouse é bem mais fácil do que com git add -p) e resolver conflitos num editor de três painéis. Já para automação, trabalho em servidores via SSH e para entender o que está realmente acontecendo, a linha de comando é insubstituível.
A estratégia ideal, usada por muitos desenvolvedores experientes, é conhecer a linha de comando e usar o GUI onde ele economiza tempo. Se você é iniciante, aprenda primeiro os comandos básicos: assim os botões de qualquer aplicativo ficam compreensíveis, e não mágicos.
O git gui e o gitk embutidos
Pouca gente sabe que o Git já vem com um programa gráfico. O comando git gui abre uma janela simples em Tcl/Tk para preparar commits: ver o diff, adicionar arquivos e trechos específicos, criar o commit, fazer push. O comando gitk mostra o histórico como um grafo.
git gui
gitk --all
No Git para Windows, os dois programas são instalados junto com o Git Bash. No Linux, às vezes é preciso instalá-los como pacotes separados (por exemplo, git-gui e gitk no Debian e no Ubuntu). A interface é antiquada, mas não é preciso baixar nada, e funciona em qualquer lugar onde haja Git.
Git no VS Code
Se você programa no Visual Studio Code, talvez nem precise de um programa separado. O painel Source Control (Ctrl+Shift+G) faz stage de arquivos e linhas específicas, commits, push e pull, troca e cria branches e mostra as alterações direto no editor, com marcas coloridas na margem. Conflitos de merge abrem com os botões "Accept Current", "Accept Incoming", "Accept Both", e as versões recentes têm um merge editor de três painéis.
O VS Code usa o Git instalado no sistema, então instale primeiro o próprio Git — sem ele, o painel mostra um aviso. Os recursos de git no vscode crescem com extensões: o GitLens adiciona a autoria das linhas (blame), um histórico detalhado do arquivo e comparação de branches, e o Git Graph desenha o grafo de commits. O GitLens tem recursos disponíveis só na assinatura — confira o que está incluído na parte gratuita.
Da mesma forma, as IDEs da JetBrains (IntelliJ IDEA, PyCharm, WebStorm e outras) trazem um cliente Git avançado, com grafo de branches, rebase interativo, shelve e resolução de conflitos confortável. Para muitos desenvolvedores, esse é o cliente git principal.
TortoiseGit
O TortoiseGit é um cliente gratuito e de código aberto, apenas para Windows. Ele não abre como um aplicativo separado: integra-se ao Explorador de Arquivos — clique com o botão direito numa pasta e o menu de contexto mostra Commit, Pull, Push, Show log, Diff. Os ícones dos arquivos ganham marcadores de status: modificado, adicionado, em conflito.
O TortoiseGit é especialmente prático para quem veio do SVN e está acostumado ao TortoiseSVN, e também para quem não é programador — designers, redatores técnicos, testers que só precisam baixar e enviar arquivos. Ele exige o Git para Windows instalado. Contras: não é multiplataforma, e o grafo do histórico é menos claro do que nos clientes especializados.
Git Extensions
O Git Extensions é outro cliente gratuito e open source para Windows. Diferente do TortoiseGit, é uma janela completa, com grafo de commits, painéis de diff e lista de branches, além de integração com o Explorador de Arquivos e o Visual Studio. Ele apresenta muitas operações de forma bem próxima dos comandos do Git, e tem console embutido e suporte a submódulos.
O Git Extensions é a escolha quando você precisa de um cliente gratuito e poderoso para Windows, com grafo completo, e não precisa trabalhar no macOS. A interface é carregada, então o iniciante vai precisar de um tempo para se acostumar.
GitHub Desktop
O GitHub Desktop é um aplicativo gratuito e de código aberto para Windows e macOS. A aposta é na simplicidade: lista de alterações, campo para a mensagem do commit, botão de sincronização, seletor de branches. É profundamente integrado ao GitHub — clonar seus repositórios com um clique, criar pull requests, entrar com a conta —, mas funciona com qualquer outro repositório remoto também.
O GitHub Desktop é um bom primeiro cliente para iniciantes e uma escolha razoável para projetos simples. Operações complexas (rebase interativo, trabalho com o reflog, ajuste fino de merges) são limitadas ou inexistentes nele; para elas, você vai precisar abrir o terminal.
GitKraken
O GitKraken é um cliente comercial multiplataforma (Windows, macOS, Linux) com um dos grafos de commits mais claros que existem. Arrastando uma branch, você faz merge ou rebase; há editor de conflitos embutido, suporte a Git Flow, integrações com as hospedagens Git e gerenciadores de tarefas populares e um botão Undo para desfazer a última operação.
Há uma versão gratuita com limitações e assinaturas pagas; o conjunto de recursos de cada plano muda, então confira no site oficial as condições — por exemplo, para trabalhar com repositórios privados — antes de escolher. O GitKraken é querido pela visualização de históricos complexos; os pontos fracos são o consumo de recursos e o modelo pago para uso comercial.
Sourcetree, Fork, Sublime Merge e clientes de terminal
O Sourcetree, da Atlassian, é um cliente gratuito para Windows e macOS, com grafo do histórico e suporte a Git Flow, rebase interativo e stash. Combina bem com o Bitbucket. Para instalar, pode ser necessária uma conta Atlassian.
O Fork é um cliente comercial rápido e caprichado para Windows e macOS, com rebase interativo e resolução de conflitos práticos; veja as condições de uso no site do desenvolvedor.
O Sublime Merge, dos criadores do Sublime Text, é um cliente muito rápido para Windows, macOS e Linux, com lógica próxima da linha de comando: nele é fácil ver qual comando Git cada botão executa. É distribuído sob licença comercial, com possibilidade de uso para avaliação.
lazygit e tig são clientes de terminal com interface de texto. O lazygit permite fazer stage de linhas, rebase e resolver conflitos pelo teclado; o tig é prático para ver o histórico. São a escolha de quem vive no terminal e trabalha em servidores via SSH.
Tabela comparativa de clientes Git
| Cliente | Plataformas | Modelo de distribuição | Ponto forte | Para quem |
|---|---|---|---|---|
| git gui + gitk | Windows, macOS, Linux | Gratuito, vem com o Git | Não precisa instalar nada | Olhada rápida num commit e no histórico |
| VS Code | Windows, macOS, Linux | Gratuito | Git direto no editor | Desenvolvedores que usam o VS Code |
| IDEs JetBrains | Windows, macOS, Linux | Depende da IDE | Ferramentas poderosas de rebase e conflitos | Usuários das IDEs JetBrains |
| TortoiseGit | Windows | Gratuito, open source | Integração com o Explorador de Arquivos | Ex-usuários de SVN, não programadores |
| Git Extensions | Windows | Gratuito, open source | Grafo completo e muitos recursos | Usuários experientes de Windows |
| GitHub Desktop | Windows, macOS | Gratuito, open source | Simplicidade, integração com o GitHub | Iniciantes, projetos simples |
| GitKraken | Windows, macOS, Linux | Comercial, com versão gratuita | Grafo claro, arrastar e soltar | Times com histórico complexo |
| Sourcetree | Windows, macOS | Gratuito | Git Flow, integração com Bitbucket | Usuários do ecossistema Atlassian |
| Sublime Merge | Windows, macOS, Linux | Comercial | Velocidade, transparência dos comandos | Quem valoriza velocidade |
| lazygit | Windows, macOS, Linux | Gratuito, open source | Trabalho no terminal | Fãs de terminal e SSH |
Como escolher um programa para o Git
- Você já trabalha no VS Code ou numa IDE JetBrains — comece pelo Git embutido. Um aplicativo separado só é necessário se faltar alguma coisa.
- Precisa da máxima simplicidade — GitHub Desktop.
- Windows e costume com o Explorador de Arquivos — TortoiseGit; se precisar de um grafo completo, Git Extensions.
- Histórico complexo com muitas branches, time trabalhando em sistemas operacionais diferentes — GitKraken, Sublime Merge ou Fork; confira as condições de licença para uso comercial.
- Você vive no terminal — lazygit ou tig.
Muitos clientes podem ser instalados ao mesmo tempo: eles trabalham com o mesmo repositório e não atrapalham uns aos outros, já que toda a informação fica na pasta .git. Experimente duas ou três opções num projeto real e fique com aquela em que você encontra o que precisa mais rápido.
Armadilhas dos clientes gráficos
- Versões diferentes do Git. Alguns aplicativos vêm com um Git embutido, cuja versão pode diferir da do sistema. Se o comportamento no GUI e no terminal divergir, verifique nas configurações do cliente qual Git ele usa.
- Operações implícitas. O botão "Sync" pode significar pull com merge ou rebase e depois push. Descubra o que exatamente ele faz antes de clicar numa branch importante.
- Force push com um clique. No GUI é fácil reescrever o histórico de uma branch remota. Prefira a variante com verificação (equivalente a
git push --force-with-lease) e proteja as branches principais no servidor. - Nome e e-mail. Os clientes pegam esses dados da configuração do Git. Confira
git config --global user.nameeuser.email, senão os commits feitos pelo GUI sairão com o autor errado. - Autenticação. O GUI muitas vezes guarda os tokens separados do Git do sistema. Se o push funciona no terminal mas não no aplicativo (ou o contrário), o problema quase sempre está nas credenciais.
Como combinar GUI e linha de comando
A habilidade mais útil é saber conferir no terminal o que o cliente fez. Depois de uma operação estranha no aplicativo, execute git status e git log --oneline --graph --all -n 20: você verá o estado real das branches, sem a interpretação da interface. Se algo deu errado, o git reflog mostra onde estava o HEAD antes do clique e permite voltar com git reset ou git switch.
Muitos clientes mostram um log dos comandos Git executados — ative-o, é a melhor forma de aprender os comandos sem abrir mão de uma interface confortável.
Resumo
Um Git GUI facilita ver o histórico, fazer commits parciais e resolver conflitos, mas não substitui entender os comandos. Para a maioria dos desenvolvedores, o Git embutido no VS Code ou na IDE é suficiente; iniciantes vão bem com o GitHub Desktop, usuários de Windows com o TortoiseGit ou o Git Extensions e, para trabalhar visualmente com históricos complexos, há o GitKraken, o Sourcetree ou o Sublime Merge. A instalação do Git, a configuração e o trabalho confortável no terminal são praticados no curso de Git.
Perguntas frequentes
Dá para trabalhar com o Git só por um cliente gráfico?
Para as tarefas do dia a dia, sim, mas cedo ou tarde aparece uma situação mais fácil de resolver com um comando, como uma recuperação via reflog. Vale conhecer os comandos básicos de qualquer forma.
Preciso instalar o Git separadamente se tenho um cliente GUI?
O VS Code, o TortoiseGit e o Git Extensions precisam do Git instalado. Alguns aplicativos, como o GitHub Desktop, trazem um Git embutido, mas o do sistema continua útil para o terminal.
Que cliente Git existe para Linux?
No Linux funcionam o git gui e o gitk embutidos, o VS Code e as IDEs JetBrains, o GitKraken, o Sublime Merge e os clientes de terminal lazygit e tig.
É seguro abrir o mesmo repositório em vários clientes?
Sim, todos os clientes trabalham com a mesma pasta .git. Só não execute operações ao mesmo tempo, senão um dos clientes vai receber um erro de index.lock bloqueado.
Este tema é abordado em profundidade, com prática, no curso “Git do zero ao desenvolvedor confiante”.
Ir para o curso