GitHub Desktop: como baixar, instalar e usar o Git sem linha de comando
GitHub Desktop é um aplicativo gratuito do GitHub para Windows e macOS que executa as operações básicas do Git com botões: clonar, commit, push, pull, branches, merge e resolução de conflitos. Baixe em desktop.github.com; depois da instalação basta entrar na sua conta do GitHub e clonar o repositório.
O que é o GitHub Desktop
O GitHub Desktop é um aplicativo gratuito e de código aberto que o GitHub publica para Windows e macOS. Ele mostra em uma janela os arquivos alterados, o histórico de commits e as branches, e executa os comandos básicos do Git com cliques. O aplicativo traz a própria cópia do Git, então não é preciso instalar o Git separadamente para usá-lo.
Se a pergunta é «o que é git desktop?», a resposta curta é: um cliente gráfico do Git voltado para o GitHub. Ele clona seus repositórios com um clique, cria pull requests e mostra o status das verificações, mas também funciona com qualquer outro repositório remoto por HTTPS, como o GitLab ou um servidor próprio.
O GitHub Desktop é uma boa opção para iniciantes, designers, redatores técnicos e para quem precisa de um ciclo simples de «alterei, fiz commit, enviei». Desenvolvedores experientes o usam para revisar diffs de forma visual e fazer commits de linhas específicas, e resolvem as operações complexas no terminal.
Como baixar o GitHub Desktop
O endereço oficial para download é desktop.github.com. O site detecta o seu sistema e oferece o instalador para Windows ou o arquivo compactado para macOS. Baixe o programa somente dali ou da página de releases do repositório desktop/desktop no GitHub: versões «github desktop baixar grátis» de sites de terceiros podem conter qualquer coisa.
Não existe versão oficial para Linux. Para Linux há um fork mantido pela comunidade (repositório shiftkey/desktop), com pacotes .deb, .rpm e AppImage, mas é uma compilação não oficial. No Linux, costuma ser mais prático trabalhar no terminal ou com o cliente Git do seu editor.
Instalação no Windows
- Execute o arquivo baixado GitHubDesktopSetup.
- O instalador não faz perguntas: o programa é instalado no perfil do usuário atual e abre sozinho.
- Não são necessários direitos de administrador; o aplicativo baixa as atualizações por conta própria.
Para instalar nos computadores de uma organização existe um instalador MSI separado; procure-o na documentação do GitHub Desktop.
Instalação no macOS
- Descompacte o arquivo zip baixado.
- Arraste o GitHub Desktop para a pasta Aplicativos (Applications).
- Abra o aplicativo e confirme que deseja executar um programa baixado da internet.
Há versões para processadores Intel e Apple Silicon; o site costuma oferecer a correta. Também é possível instalar pelo Homebrew:
brew install --cask github
Login na conta e primeira configuração
Na primeira vez que você abrir o GitHub Desktop, ele pedirá para entrar no GitHub.com. Clique no botão de login: o navegador será aberto para você confirmar o acesso do aplicativo à sua conta. A senha não é digitada no aplicativo, e a autenticação em dois fatores é feita no navegador como de costume. Para o servidor corporativo GitHub Enterprise existe uma opção de login separada.
Em seguida, o aplicativo pede para configurar o Git: nome e e-mail que aparecerão em cada commit. São os mesmos user.name e user.email definidos com git config --global, então, se o Git já estava configurado, os dados são preenchidos automaticamente. Para que os commits fiquem associados ao seu perfil no GitHub, use o e-mail cadastrado na conta ou o endereço de serviço no formato ID+usuario@users.noreply.github.com.
Depois você pode alterar essas configurações: no Windows, em File → Options; no macOS, em GitHub Desktop → Settings. Lá também escolhe o editor externo (por exemplo, o VS Code) e o terminal que serão abertos a partir do aplicativo, além do tema visual.
Clonar um repositório
Clonar significa baixar uma cópia do repositório remoto com todo o histórico. No GitHub Desktop, a opção fica em File → Clone repository. A janela tem três abas: seus repositórios no GitHub.com, os repositórios do GitHub Enterprise e uma aba URL, onde você pode colar qualquer endereço, inclusive de GitLab.
- Escolha um repositório da lista ou cole a URL.
- Indique a pasta local (Local path).
- Clique em Clone e aguarde o fim do download.
O mesmo faz o comando git clone. Na página do repositório no GitHub, o menu do botão Code tem a opção Open with GitHub Desktop: ela abre o aplicativo com o endereço já preenchido. Se você clonar um repositório alheio sem permissão de escrita, o aplicativo oferecerá criar um fork na primeira vez que tentar enviar alterações.
Uma pasta com um projeto Git já existente é adicionada com File → Add local repository, e um repositório novo é criado com File → New repository: nele você pode escolher um modelo de .gitignore, uma licença e criar o README.
Como fazer commit no GitHub Desktop
Na aba Changes, à esquerda, aparecem todos os arquivos alterados; à direita, o diff do arquivo selecionado: linhas removidas em vermelho e linhas adicionadas em verde. A caixa ao lado de cada arquivo define se ele entra no commit. É o equivalente à área de stage (staging area) e ao comando git add.
- Desmarque os arquivos que não quer incluir.
- Se necessário, clique em linhas específicas no diff para excluí-las: assim você faz um commit parcial, como o
git add -p. - Escreva uma descrição curta no campo Summary e, se quiser, detalhes em Description.
- Clique no botão Commit to <nome da branch>.
O commit é criado apenas no seu computador; ainda não foi enviado ao servidor. Fazer commits pequenos e com sentido com git desktop commit é muito prático, pois fica claro o que entra em cada um. Se errar, logo após o commit aparece embaixo o botão Undo, que desfaz o último commit e devolve as alterações à pasta de trabalho, enquanto ele não tiver sido enviado.
Os arquivos que não devem entrar no repositório podem ser excluídos pelo menu de contexto do arquivo: a opção de ignorar acrescenta o arquivo ao .gitignore. Para descartar alterações não confirmadas existe Discard changes; as alterações são apagadas (para a lixeira do sistema no Windows e no macOS), mas é melhor tratar a ação como irreversível.
Push, pull e fetch: sincronizar com o servidor
O botão principal da barra superior muda o texto conforme a situação. É nele que git desktop push e git desktop pull são executados com um clique.
| Texto do botão | O que acontece | Comando do Git |
|---|---|---|
| Publish repository | o repositório local ainda não está no GitHub: criá-lo e enviá-lo | criar o remote + git push -u |
| Publish branch | a branch existe só no seu computador | git push -u origin branch |
| Fetch origin | verificar se há commits novos no servidor | git fetch |
| Pull origin | há commits novos no servidor: trazê-los | git pull |
| Push origin | há commits locais: enviá-los | git push |
Ao lado do texto aparece o número de commits com setas para cima e para baixo: quantos precisam ser enviados e quantos recebidos. O aplicativo faz fetch em segundo plano periodicamente, por isso o botão Pull aparece sozinho quando os colegas enviam algo.
Se a sua branch divergiu da do servidor, ou seja, você tem commits próprios e o servidor tem commits novos, o push é recusado. Primeiro faça Pull origin: o Git fará o merge das alterações e, se elas se sobrepuserem, surgirá um conflito. O push com reescrita do histórico (force push) o aplicativo só sugere depois de operações que alteram commits já enviados, como um rebase.
Branches: criar, trocar e checkout
As branches são gerenciadas pelo menu suspenso Current branch na barra superior. Ele traz a lista de branches locais e remotas, uma busca e o botão New branch. Escolher uma branch da lista é o git desktop checkout: o aplicativo muda a pasta de trabalho para ela. Se você selecionar uma branch remota que ainda não existe localmente, será criada uma branch local que acompanha a remota.
A nova branch é criada a partir da atual ou da branch padrão; o aplicativo pergunta se houver escolha. Depois de criada, ela existe só para você, então o botão superior muda para Publish branch. Para renomear ou excluir uma branch, use o menu Branch ou o menu de contexto da branch na lista; ao excluir, você pode marcar a opção de remover também do servidor.
Quando o trabalho na branch estiver pronto, o menu Branch tem a opção Create pull request: o navegador abre a página de criação de pull request no GitHub. A revisão e o merge acontecem no site.
Merge e rebase no GitHub Desktop
Para integrar outra branch à atual, escolha no menu Current branch a opção Choose a branch to merge into <branch> (ela também está no menu Branch). O aplicativo mostra antecipadamente quantos commits serão integrados e se haverá conflitos. É assim que se executa o git desktop merge, ou seja, um git merge normal.
No mesmo menu estão Squash and merge, que compacta todos os commits da branch em um só, e Rebase current branch, com o qual o git desktop rebase coloca os seus commits sobre a branch escolhida. Depois do rebase de uma branch já enviada, o histórico do servidor e o seu divergem, e o botão Push muda para Force push origin. Faça isso apenas na sua própria branch, em que ninguém mais trabalha.
Na aba History você pode arrastar commits: para outra branch (isso é um cherry-pick), sobre outro (squash) ou para mudar a ordem. Não há rebase interativo com todas as ações; para isso é preciso o git rebase -i no terminal.
Conflitos de merge
Se as mesmas linhas foram alteradas nas duas branches, ao fazer merge, pull ou rebase surge uma janela com a lista de arquivos em conflito. Para cada um você pode abrir o arquivo em um editor externo ou escolher por completo uma das versões: a sua ou a que está chegando.
No editor, o conflito tem o formato habitual:
<<<<<<< HEAD
const limit = 20;
=======
const limit = 50;
>>>>>>> feature/pagination
Mantenha a variante correta, remova os marcadores e salve o arquivo. Quando os marcadores desaparecerem de todos os arquivos, o GitHub Desktop os marca como resolvidos e ativa o botão para continuar o merge, que cria o commit de merge. Se algo der errado, o merge pode ser cancelado com o botão de cancelamento da mesma janela: é o equivalente a git merge --abort.
Git stash no GitHub Desktop
Não há um botão de «stash» na janela principal, mas o mecanismo existe. Quando você troca de branch com alterações não confirmadas, o aplicativo pergunta o que fazer com elas: deixá-las na branch atual ou levá-las para a nova. A opção de «deixar» guarda as alterações no stash; é assim que funciona o git stash no GitHub Desktop.
Você pode guardar alterações manualmente pelo menu de contexto da lista de alterações (opção Stash all changes). Ao voltar para a branch, você verá embaixo da aba Changes a linha Stashed changes: ali é possível consultar os arquivos guardados e restaurá-los (Restore) ou removê-los.
Limitação: o GitHub Desktop guarda apenas um stash por branch. Se precisar de várias entradas, use o terminal com git stash pop para uma entrada específica ou git stash apply stash@{1}; o aplicativo abre o terminal na pasta certa pelo menu Repository.
Git LFS no GitHub Desktop
O Git LFS guarda arquivos binários grandes (vídeos, PSD, modelos) em um armazenamento separado, e no repositório ficam apenas ponteiros. O GitHub Desktop é compatível com o LFS: ao clonar ou abrir um repositório que o utiliza, ele oferece inicializar o Git LFS e, a partir daí, baixa e envia os arquivos grandes automaticamente.
O que não é possível fazer na interface é indicar quais arquivos devem ser controlados pelo LFS. Isso se configura uma vez no terminal, e depois o git lfs funciona de forma transparente no GitHub Desktop:
git lfs install
git lfs track "*.psd"
git add .gitattributes
git commit -m "Track PSD files with Git LFS"
Atenção às cotas: nas contas gratuitas do GitHub, o armazenamento e o tráfego do LFS são limitados; os limites atuais aparecem nas configurações de cobrança da sua conta.
Reset, revert e histórico
A aba History mostra os commits da branch atual e as alterações de cada um. No menu de contexto do commit estão estas opções:
- Revert changes in commit: cria um commit novo que desfaz o selecionado. É seguro até para commits já enviados.
- Create branch from commit e Create tag: uma branch ou uma tag a partir de qualquer ponto do histórico.
- Amend commit: para o último commit; permite corrigir a mensagem ou adicionar arquivos.
- Reset to commit: nas versões recentes do aplicativo, move a branch para esse commit e mantém as alterações na pasta de trabalho, como o
git reset --mixed.
A opção de git desktop reset com eliminação das alterações (git reset --hard) não existe na interface, de propósito, para que um iniciante não perca o trabalho. Se ela for necessária, use o terminal; os commits perdidos são encontrados com git reflog.
Quando é melhor usar a linha de comando
O GitHub Desktop atende ao ciclo diário de trabalho, mas muitas coisas não estão disponíveis ou são incômodas:
- o rebase interativo com todas as ações,
git bisect,git reflog,git worktree; - várias entradas de stash, submódulos, configuração fina de remotos;
- trabalho em servidores via SSH e automação em scripts e CI;
- Linux, onde não há versão oficial.
Além disso, em entrevistas perguntam justamente os comandos, e entender o que fazem fetch, merge e rebase ajuda também dentro da interface gráfica. Uma abordagem prática é dominar a linha de comando e usar o aplicativo onde ele economiza tempo: para revisar diffs, fazer commits parciais e resolver conflitos. A partir do GitHub Desktop, o terminal abre na pasta do projeto pelo menu Repository.
Resumo
O GitHub Desktop é uma forma simples e gratuita de trabalhar com Git no Windows e no macOS: você baixa o aplicativo em desktop.github.com, entra na conta, clona o repositório, e commits, push, pull, branches e conflitos são feitos com botões. Para stash, LFS e reset as possibilidades são limitadas, e as operações complexas continuam no terminal. Repositórios remotos, push, pull e o trabalho em equipe com pull requests são explicados com detalhes e exemplos práticos no curso de Git.
Perguntas frequentes
O GitHub Desktop é gratuito?
Sim, o aplicativo é totalmente gratuito e de código aberto; você só pagaria se contratasse um plano pago do GitHub e precisasse dele.
Preciso instalar o Git separadamente para usar o GitHub Desktop?
Não, o aplicativo já inclui uma cópia própria do Git. Se quiser trabalhar também no terminal, instale o Git para o seu sistema separadamente.
Dá para usar o GitHub Desktop com GitLab ou Bitbucket?
Sim, você pode clonar o repositório pelo endereço HTTPS na aba URL. A integração com pull requests e o login pela conta funcionam apenas com o GitHub.
Existe GitHub Desktop em português?
Não há interface oficial em português; o aplicativo está em inglês. Os nomes dos botões são curtos e correspondem aos comandos do Git, então é fácil entender.
Por que o GitHub Desktop não detecta alterações em um arquivo?
O motivo mais comum é que o arquivo está excluído por uma regra do .gitignore ou que você abriu outra pasta de repositório. Verifique o caminho no menu Current repository e o conteúdo do .gitignore.
Este tema é abordado em profundidade, com prática, no curso “Git do zero ao desenvolvedor confiante”.
- GitHub e repositórios remotos: seu código na nuvem
- Trabalho em Equipe: Forks, Branches de Funcionalidades e Pull Requests