# GitHub Desktop: como baixar, instalar e usar o Git sem linha de comando

URL: https://skillaria.top/pt/guides/git/github-desktop-instalar-usar

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

1. Execute o arquivo baixado GitHubDesktopSetup.
2. O instalador não faz perguntas: o programa é instalado no perfil do usuário atual e abre sozinho.
3. 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

1. Descompacte o arquivo zip baixado.
2. Arraste o GitHub Desktop para a pasta Aplicativos (Applications).
3. 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.

1. Escolha um repositório da lista ou cole a URL.
2. Indique a pasta local (Local path).
3. 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`.

1. Desmarque os arquivos que não quer incluir.
2. Se necessário, clique em linhas específicas no diff para excluí-las: assim você faz um commit parcial, como o `git add -p`.
3. Escreva uma descrição curta no campo Summary e, se quiser, detalhes em Description.
4. 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:

```
> 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.

## FAQ

**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.


---
Source: Skillaria.Top (https://skillaria.top)
