Git e GitHub
O PocketCode traz o Git integrado: nada para instalar e nenhum comando git para digitar. Prepare por fragmento, faça commit, troque e mescle branches, use stash, veja o blame, faça rebase interativo e cherry-pick, e depois leia e gerencie os pull requests, issues e CI do seu GitHub. Ele roda na biblioteca JGit dentro do app, então tudo o que é local funciona offline; só falar com um remoto (clone, pull, push, GitHub) precisa de conexão.
O que é e como abrir
O Git não é uma tela só: cada parte fica onde você já trabalha. Escolha a porta que corresponde ao que você está fazendo.
| Onde | Como abrir |
|---|---|
| Controle de código-fonte (editor) | Abra a paleta de comandos ou o menu do editor, vá à seção Git e escolha Controle de código-fonte (o painel se chama Controle de código). Ou pressione Ctrl+Shift+G em um teclado físico, ou toque no nome do branch ou no texto do blame na barra de status. |
| PRs e issues do GitHub (editor) | Paleta de comandos ou menu do editor → Git → PRs e issues do GitHub. Não tem atalho. |
| Histórico local… e Comparar com… (editor) | Paleta de comandos. Nenhum dos dois tem atalho. |
| Painel Git (terminal) | No terminal, abra o painel de ferramentas ou o menu do terminal e escolha Painel Git. |
| O cartão do projeto (Projetos) | Toque na seta do cartão para expandi-lo: Commit, Git, Publicar e Pull / Push / Fetch quando o projeto tem um remoto. Clonar é o bloco no topo da página. |
| Sua conta do GitHub | Configurações → Integrações → Serviços conectados → GitHub. |
O que há por baixo
- Motor integrado. O Git roda no JGit 6.5.0, uma biblioteca Git para Java, dentro do app. O terminal local não tem o programa
git, então o Painel Git dele usa o mesmo motor; por SSH, o painel executa ogitdo próprio host. - Funciona offline. Status, preparação, commits, diffs, blame, histórico, stash, merge, comparação de branches, rebase, cherry-pick, branches, tags e Histórico local não precisam de conexão. Clone, fetch, pull, push, publicar e tudo no GitHub precisam.
- Um projeto novo ainda não é um repositório. Comece a rastreá-lo com Começar a controlar este projeto (Projetos → Git) ou Inicializar repositório (o Painel Git do terminal). Clonar já entrega um repositório. A pasta
.pocketcode/do próprio PocketCode fica fora das suas alterações. - Outras portas. O chat com IA pode rodar o Git por você (status, commit, log, diff, branch, push e pull; o push pede sua confirmação) e os Workflows têm uma etapa de Git (status, commit, push, pull, checkout, log, diff). Os dois usam este mesmo motor e são tratados em suas próprias páginas.
Ctrl+Shift+G é o único atalho do Git. GitHub, Histórico local, Comparar com… e rebase não têm nenhum.Mapa de telas
Todas as telas e painéis que tocam no Git, e onde cada uma fica. As próximas seções passam por elas uma a uma.
| Tela | Como chegar | O que você pode fazer |
|---|---|---|
| Controle de código-fonte | Editor → Git → Controle de código-fonte, Ctrl+Shift+G, ou a barra de status | Ver o branch e os contadores ↑↓, preparar e desfazer a preparação de arquivos, ler diffs, escrever uma mensagem de commit e fazer o commit, pull e push. |
| Mensagem de commit com IA | Controle de código-fonte → Mensagem com IA | Escolha um de quatro estilos de mensagem sugerida, montada a partir dos nomes dos seus arquivos. Ela preenche a caixa de mensagem; não faz commit. |
| Preparar por fragmentos | Controle de código-fonte → o ícone em um arquivo em Alterações | Escolha quais blocos de um arquivo entram no commit e quais ficam de fora. |
| Mesclar branch | Controle de código-fonte → Mesclar | Mescle um branch local no branch atual. Se houver conflito, a mesma caixa lista os arquivos em conflito, deixa você resolver cada um e deixa abortar a mesclagem. |
| Guardar à parte | Controle de código-fonte → Guardar à parte | Coloque alterações de lado, com uma mensagem opcional, e depois aplique, recupere ou descarte. |
| Blame | Controle de código-fonte → Blame | Veja quem alterou por último cada bloco do arquivo aberto e abra o diff desse commit. |
| Histórico do arquivo | Controle de código-fonte → Histórico do arquivo | Navegue pelos últimos 50 commits que tocaram no arquivo aberto e abra o diff de cada um. |
| Comparação de branches | Controle de código-fonte → Comparar | Compare dois branches locais: commits à frente e atrás, e os arquivos alterados. |
| Visualizador de diff | Toque em um arquivo no Controle de código-fonte; também pelo Histórico do arquivo, Blame, Histórico local e Comparar com… | Leia as linhas adicionadas e removidas com números de linha e totais +N −M; Trocar os dois lados. |
| Resolvedor de conflitos | Caixa Mesclar branch → um arquivo em conflito → Editar manualmente, ou um rebase interativo que para em um conflito → Resolver | Escolha Ours, Theirs ou Both para cada bloco em conflito. |
| PRs e issues do GitHub | Editor → Git → PRs e issues do GitHub | Quatro abas: PRs, Issues, CI e Avisos. Filtre e abra pull requests e issues; crie, mescle, feche e comente. |
| Novo pull request | Aba PRs → Novo pull request de … | Título, descrição, branch base e de origem, rascunho e rótulos. |
| Rebase interativo | PRs e issues do GitHub → menu ⋮ → Rebase interativo… | Planeje, confirme e execute um rebase, com um backup que você pode restaurar. |
| Cherry-Pick | PRs e issues do GitHub → menu ⋮ → Cherry-pick… | Aplique commits, digitados por hash, no branch atual. |
| Histórico local | Paleta de comandos → Histórico local… | Navegue por versões salvas anteriormente do arquivo aberto; copie ou restaure uma. |
| Comparar com… | Paleta de comandos → Comparar com… | Compare o arquivo aberto com o disco, o HEAD, a área de transferência ou outra aba aberta. |
| Marcas do explorador e barra de status | Sempre visíveis em um repositório | Veja quais arquivos mudaram, e o branch com seus contadores ↑↓. |
| Painel Git | Terminal → painel de ferramentas → Painel Git | Abas Estado, Branches, Histórico e Ações: o motor integrado localmente, o git do host por SSH. |
| Confirmar alterações | Cartão do projeto → Commit | Preparar e desfazer a preparação de arquivos, descartar as alterações de um arquivo, amend, Commit ou Commit & Push. |
| Configurações Git | Cartão do projeto → Git | Começar a rastrear, ligar ou criar um remoto, enviar, obter e verificar o remoto; trocar e criar branches; Histórico, Etiquetas; seu nome nos commits. |
| Histórico de commits | Configurações Git → Histórico | Os últimos 100 commits, com Revert, Reset Soft, Reset Hard e Cherry-pick. |
| Tags | Configurações Git → Etiquetas | Crie uma tag (anotada se você adicionar uma mensagem), exclua uma, faça push das tags. |
| Publicar no remoto | Cartão do projeto → Publicar | Crie um repositório vazio no GitHub, GitLab ou Bitbucket e ligue-o como origin. Não faz push. |
| Clonar | Página Projetos → Clonar | Escolha um dos seus repositórios no GitHub, GitLab ou Bitbucket e baixe-o como projeto. |
| Entrar com um código | Configurações → Integrações → Serviços conectados → GitHub | Conecte sua conta do GitHub com um código curto que você aprova no navegador. |
Clonar, publicar e conectar o GitHub
O Git só consegue falar com um remoto depois que o PocketCode tem a sua conta. Clonar, publicar, pull e push usam todos a conta que você conecta em Serviços conectados; não há nada para configurar por repositório.
Conectar sua conta do GitHub
- 1Abra Configurações → Integrações → Serviços conectados e escolha GitHub. A linha dele diz Entrar com um código.
- 2Toque em Pedir um código ao GitHub. O PocketCode mostra O teu código.
- 3Toque em Abrir GitHub, digite o código na página que abrir (
github.com/login/device) e aprove. - 4Mantenha o painel aberta. À espera de que aproves… vira uma conta conectada sozinho: não há token para copiar de volta.
O que você pode fazer
- Conecte sem nunca manusear um token: o PocketCode usa o device flow do GitHub, que não precisa de client secret e verifica a cada poucos segundos até você aprovar.
- Veja o que é pedido antes de aprovar: as permissões
repo,read:usereuser:email.repoé o que alcança os repositórios privados. - Use essa única conta para clone, publicar, fetch, pull, push, o painel PRs e issues do GitHub e o feed de CI.
O que você não pode fazer, e por quê
- Conectar uma segunda conta do GitHub (ou uma segunda conta de qualquer provedor) no Free: a primeira conta de cada provedor é grátis, mais contas são Pro.Pro
- Usar o login por código quando o GitHub não o ativou para o app OAuth do PocketCode: o painel então diz que o GitHub não o está oferecendo agora.Terceiros
Clonar um repositório
- 1Na página Projetos, toque em Clonar e escolha Clonar do GitHub, Clonar do GitLab ou Clonar do Bitbucket. Um serviço que você não conectou diz Não conectado — toque para conectar; o botão Conectar dele leva você a Serviços conectados.
- 2Busque seus repositórios (Buscar repositórios… no GitHub) e toque em Clonar em um deles. Basta um toque: nada mais é perguntado, e o clone é sempre guardado no armazenamento de projetos do próprio PocketCode, que outros apps não enxergam.
- 3Clonando repositório mostra o progresso. Cancelar interrompe e remove a cópia pela metade.
- 4O repositório aparece como um novo projeto. Se já existir um projeto com esse nome, o novo se chama
name (2),name (3)…
O que você pode fazer
- Clonar repositórios privados e públicos, do GitHub, GitLab ou Bitbucket, desde que essa conta esteja conectada.
- Obter o histórico completo: um clone não é raso.
O que você não pode fazer, e por quê
- Clonar a partir de uma URL, ou um repositório que não está na lista da sua conta.Ainda não
- Clonar de outros hosts (GitHub Enterprise, GitLab auto-hospedado, Gitea, Codeberg…): só github.com, gitlab.com e bitbucket.org são suportados.De propósito
- Clonar sem uma conta conectada, mesmo um repositório público.Precisa de rede
- Baixar submódulos ou conteúdo do Git LFS: submódulos não são clonados, e arquivos LFS continuam como seus pequenos ponteiros de texto.Ainda não
- Ver o progresso real: a barra avança por etapas, não por bytes.Ainda não
Publicar um projeto local
Publicar serve para um projeto que até agora só existe no seu celular.
- 1Expanda o cartão do projeto e toque em Publicar.
- 2Escolha um serviço conectado, depois preencha Nome do repositório (começa com o nome do projeto) e escolha Público ou Privado. Começa como Público, então mude para Privado se o código não for para todos.
- 3Toque em Criar e vincular.
O que você pode fazer
- Publicar no GitHub, GitLab ou Bitbucket.
- Obtenha o mesmo resultado em Git → Criar em GitHub e ligar, ou ligue um repositório que você já tem com Ligar um repositório que já tenho (veja Git no cartão do projeto).
O que você não pode fazer, e por quê
- Publicar sem nenhum serviço conectado: o painel diz Conecte GitHub, GitLab ou Bitbucket em Serviços primeiro, e você não consegue conectar a partir dali.Precisa de rede
- Publicar em outro host.De propósito
origin. Não faz commit nem push. Seu trabalho sobe quando você faz commit e depois usa Enviar alterações (ou Push).Controle de código-fonte no editor
O Controle de código-fonte é o painel Git do editor, para o projeto aberto. Ele mostra o branch e suas alterações e cobre o ciclo do dia a dia: preparar, commit, pull, push. Trabalho com branches, stash, blame e histórico são os chips no topo.
Revisar e preparar alterações
O subtítulo é algo como main ↑2 ↓1 · Alterações · 3: o branch, os commits que você não enviou (↑) e não trouxe (↓), e o número de alterações. Os arquivos são agrupados em Alterações preparadas, Alterações e Não rastreados.
O que você pode fazer
- Toque em um arquivo para ler o diff: linhas adicionadas e removidas em cor, com números de linha e totais
+N −M. Trocar inverte os dois lados. - Mova um arquivo com Preparar / Desfazer preparação na linha dele (Rastrear e preparar para um arquivo novo), ou um grupo inteiro com Preparar tudo / Desfazer preparação de tudo.
- Use os ícones Atualizar, Trazer e Enviar no cabeçalho. Pull e push rodam na hora, sem perguntar, e cada um termina com uma mensagem (Push realizado ou O push falhou: …).
- Veja Nenhuma alteração (A árvore de trabalho está limpa.) quando não há nada para fazer commit.
O que você não pode fazer, e por quê
- Iniciar um repositório aqui: em um projeto que ainda não é um, o painel só diz Nenhuma alteração. Comece a rastrear em Projetos → Git ou no Painel Git do terminal.Ainda não
- Fazer fetch, criar ou trocar branches, amend, descartar as alterações de um arquivo, editar tags ou remotos: o editor não tem botão para isso. Projetos e o terminal cobrem a maior parte (veja abaixo).Ainda não
- Confiar que os contadores ↑↓ estejam atualizados: eles só mudam depois de um pull ou push, porque o editor não consegue fazer fetch.Ainda não
Preparar por fragmentos
Faça commit de parte de um arquivo. Toque em Preparar por fragmentos em um arquivo em Alterações.
O que você pode fazer
- Cada bloco de alteração aparece como Fragmento na linha N com suas linhas removidas e adicionadas.
- Cada fragmento começa como Preparar; toque em Ignorar nos que quiser deixar de fora. N de M aceitos os conta.
- O botão de baixo diz Adicionar tudo ao índice quando todos os fragmentos estão escolhidos e Adicionar N nos outros casos. Ele adiciona só esses fragmentos ao próximo commit e deixa o arquivo no disco intacto.
O que você não pode fazer, e por quê
- Dividir um fragmento em linhas individuais.Ainda não
- Preparar por fragmentos um arquivo novo ou já preparado: o ícone aparece só em Alterações.Ainda não
Commit e a mensagem sugerida
Digite uma mensagem em Mensagem do commit… e toque em Confirmar. O botão só fica ativo com uma mensagem e pelo menos um arquivo em Alterações preparadas.
O que você pode fazer
- Toque em Mensagem com IA para ter ideias. Escolha um estilo (Convencional, Descritivo, Imperativo ou Emoji), toque em uma sugestão e em Usar esta mensagem: ela preenche a caixa, e você ainda toca em Confirmar.
- Faça commit como você mesmo: os commits do editor levam o nome e o e-mail salvos no repositório, então defina antes O teu nome nos commits (Projetos → Git).
O que você não pode fazer, e por quê
- Fazer amend do último commit pelo editor: use Amend último commit em Projetos → Commit.Ainda não
Mesclar um branch
- 1Toque em Mesclar. A caixa Mesclar branch diz Atual: main e lista seus outros branches locais; filtre-os com Buscar branches....
- 2Escolha um branch e toque em Mesclar em main.
- 3Uma mensagem conta como foi: Merge em avanço rápido: …, Merge realizado: …, Já está atualizado ou, em caso de conflito, O merge tem conflitos em: ….
- 4Depois de um conflito, a caixa passa a Conflitos de mesclagem detectados, com N arquivo(s) precisam de resolução. Toque em um arquivo e escolha Aceitar o atual, Aceitar o recebido ou Aceitar os dois (cada um vale para todos os blocos em conflito do arquivo e o deixa preparado), ou Editar manualmente para escolher bloco a bloco. Veja Conflitos.
- 5Abortar mesclagem abandona a mesclagem: pergunta Abortar o merge? (Isto vai descartar o merge em curso e as resoluções de conflitos feitas até agora. Não pode ser desfeito.) e Abortar confirma. Quando o último arquivo é resolvido, a caixa volta para a lista de branches e você faz o commit pelo Controle de código-fonte.
O que você não pode fazer, e por quê
- Mesclar um branch remoto, ou escolher só fast-forward, sem fast-forward ou squash. Para trazer trabalho remoto, use Trazer.Ainda não
Comparar dois branches
- 1Toque em Comparar (Comparação de branches).
- 2Escolha Base e Comparar, depois toque em Comparar ramos.
O que você pode fazer
- Leia À frente e Atrás, Arquivos, os commits (a lista para em 50, mas À frente é a contagem real) e os caminhos alterados. Branches idênticos dizem Não há diferenças entre estes ramos.
O que você não pode fazer, e por quê
- Abrir o diff de um arquivo a partir da comparação, ou comparar branches remotos: só os branches locais são listados.Ainda não
Stash
O chip Guardar à parte mostra quantas entradas você tem. Toque em Guardar à parte e depois em Guardar as alterações à parte para colocar suas alterações de lado; toque em uma entrada para Aplicar, Recuperar ou Descartar. Descartar pergunta antes: Descartar o stash? — Esta entrada do stash será eliminada permanentemente. Não pode ser desfeito.
O que você pode fazer
- Digite uma Mensagem (opcional) antes de confirmar: ela é salva com a entrada e aparece como o título dela na lista. Sem ela, o Git escreve o próprio título WIP on ….
- Leia o resultado em uma mensagem: Stash salvo: …, Stash aplicado e removido (Recuperar), Stash aplicado (mantido) (Aplicar) ou Stash removido (Descartar).
O que você não pode fazer, e por quê
- Guardar no stash arquivos novos (não rastreados): só as alterações em arquivos que o Git já rastreia são postas de lado.Ainda não
- Recuperar uma entrada específica: Recuperar sempre aplica e remove a mais nova, qualquer que seja a linha que você abriu.Ainda não
- Resolver conflitos quando um stash aplicado entra em conflito: não há resolvedor para isso.Ainda não
Blame
O que você pode fazer
- Com um arquivo aberto, toque em Blame: linhas consecutivas do mesmo commit são agrupadas, com o autor, Linha N (ou um intervalo) e o hash de 7 caracteres.
- Toque em um bloco e depois em Ver o commit para ler o diff desse commit no arquivo.
- Olhe a barra de status: ela pode mostrar autor · há quanto tempo para a linha em que o cursor está, ao lado do nome do branch. Toque em qualquer um para abrir o Controle de código-fonte. Linhas que você não commitou mostram Not Committed Yet.
O que você não pode fazer, e por quê
- Fazer blame de outro branch ou commit, ou ocultar o blame da barra de status: não há configuração para isso.Ainda não
- Ler esse tempo relativo no seu idioma: just now, 5 min ago, yesterday… estão sempre em inglês.Ainda não
Histórico do arquivo
O que você pode fazer
- Com um arquivo aberto, toque em Histórico do arquivo para ver os últimos 50 commits que tocaram nele (mensagem, hash, autor, idade) e em Ver diff para ver o que cada um mudou nesse arquivo.
- Um arquivo intocado diz Este ficheiro não tem histórico de commits.
O que você não pode fazer, e por quê
- Ver mais de 50 commits.De propósito
- Restaurar o arquivo para uma versão antiga, ou reverter pela linha: Revert fica em Projetos → Git → Histórico, e o Histórico local cobre o trabalho não salvo.Ainda não
Marcas no explorador e na barra de status
O que você pode fazer
- Em um repositório, o explorador de arquivos marca cada arquivo alterado (modificado, adicionado, não rastreado, excluído ou renomeado), marca as pastas que contêm alterações e mostra um rodapé com o branch, ↑↓ e o número de arquivos alterados. Ele lê o mesmo status do Controle de código-fonte.
- O nome do branch na barra de status abre o Controle de código-fonte.
- Fora de um repositório Git não há marcas nem rodapé.
O que você não pode fazer, e por quê
—
Git no cartão do projeto
Várias ações do Git ficam no cartão do projeto na página Projetos, não no editor: amend, trocar e criar branches, tags, revert, reset, ligar um remoto e o nome nos seus commits. O cartão em si é tratado na página Projetos.
O que o cartão diz
Ao lado do nome do projeto, o cartão mostra uma etiqueta só quando há algo a fazer.
| Etiqueta | Significado |
|---|---|
| Pull | O remoto tem commits que você não tem. |
| Push | Você tem commits que o remoto não tem, ou este branch nunca foi enviado. |
| Alterações | Você tem alterações sem commit (exibido para projetos que têm um remoto). |
| Conflito | Os dois lados têm commits novos, então você precisa baixar primeiro. Não significa conflitos de merge. |
Confirmar alterações
Toque em Commit no cartão. O painel se chama Confirmar alterações e indica o branch.
O que você pode fazer
- Mova arquivos entre Staged (n) e Não adicionado (n) com a caixa de seleção de cada arquivo, ou use Adicionar tudo / Remover tudo.
- Digite uma Mensagem de commit e toque em Commit. Precisa de uma mensagem e de pelo menos um arquivo preparado, e não prepara nada por você: sem nenhum preparado, diz Sem arquivos staged. Use 'Adicionar tudo' para incluir as alterações.
- Marque Amend último commit (Modifica o commit anterior com as mudanças atuais): o botão vira Amend Commit.
- Toque em Commit & Push para fazer commit e enviar de uma vez (só quando o projeto tem um remoto).
- Descarte as alterações sem commit de um arquivo que o Git já rastreia com o ícone Descartar mudanças na linha dele. Ele não aparece para arquivos preparados ou novos.
- Autor: o nome e o e-mail salvos no repositório; quando não há, os da sua conta do PocketCode.
O que você não pode fazer, e por quê
—
Configurações Git
Toque em Git no cartão. Um cartão de status diz em que pé o projeto está, e as ações mudam de acordo.
| O cartão diz | O que você pode fazer |
|---|---|
| Ainda sem controlo de versões | Começar a controlar este projeto cria um repositório local, com um .gitignore que deixa de fora .pocketcode/. Ligar um repositório que já tenho o cria e define origin com a URL que você informar. |
| Guardado só neste dispositivo | Criar em GitHub e ligar (ou GitLab, Bitbucket) cria um repositório vazio privado ou público e o liga; precisa antes da conta (Liga primeiro uma conta GitHub nas Definições). Ligar um repositório que já tenho define origin com uma URL. |
| Ligado | Enviar alterações (push), Obter alterações (pull) e Verificar o remoto (fetch), mais as linhas Ramo, Histórico e Etiquetas. |
O que você pode fazer
- Ramo: seus branches locais. Toque em um para mudar para ele, ou use Criar nova branch: a caixa Mudar para esta branch (marcada por padrão) leva você para ela na hora.
- O teu nome nos commits: defina o
user.namee ouser.emailque o repositório guarda. Começam preenchidos a partir do repositório, do seu serviço conectado ou da sua conta.
O que você não pode fazer, e por quê
- Trocar de branch ou ver Histórico e Etiquetas em um repositório que ainda não tem remoto: essas linhas só aparecem quando existe um
origin. O Painel Git do terminal pode trocar de branch localmente.Ainda não - Excluir ou renomear um branch, ou listar branches remotos: aqui só existem branches locais.Ainda não
Histórico de commits, Revert e Reset
Histórico (Histórico de commits) lista os últimos 100 commits: mensagem, hash de 7 caracteres, autor e data. Toque em um commit para revelar quatro botões.
| Botão | O que faz |
|---|---|
| Revert | Cria um novo commit que desfaz aquele commit. O histórico não é reescrito. |
| Reset Soft | Move o branch de volta para aquele commit e mantém tudo o que veio depois como alterações preparadas. |
| Reset Hard | Move o branch de volta e descarta tudo o que veio depois, inclusive alterações sem commit. |
| Cherry-pick | Aplica aquele commit em cima do branch atual, sem hash para digitar. |
O que você não pode fazer, e por quê
- Reset mixed, ou restaurar um único arquivo de um commit antigo: só existem Reset Soft e Reset Hard.Ainda não
Tags
Etiquetas é uma linha das Configurações Git e, como Ramo e Histórico, aparece quando o projeto tem um remoto.
O que você pode fazer
- Criar tag: um nome como
v1.0.0e uma mensagem opcional. Com mensagem, a tag é anotada. - Exclua uma tag pelo ícone dela.
- Push de tags as envia (só com um remoto).
O que você não pode fazer, e por quê
—
Painel Git no terminal
O terminal tem seu próprio painel Git pequeno. É o jeito mais rápido de iniciar um repositório ou fazer um commit quando você já está no shell.
Painel Git
Abra o painel de ferramentas do terminal (ou o menu dele) e escolha Painel Git. Ele tem quatro abas: Estado, Branches, Histórico e Ações. No shell local, trabalha no repositório encontrado subindo a partir da pasta em que você está, sem sair do seu próprio workspace, usando o motor integrado. Por SSH, executa git no host remoto.
O que você pode fazer
- Estado: contagens e listas de arquivos Em stage, Modificado e Não rastreado, ou Árvore de trabalho limpa.
- Branches: toque em um branch para trocar para ele, ou em Nova ramificação.
- Histórico: os últimos 30 commits.
- Ações: Confirmar alterações (pede uma mensagem e fecha o painel), Pull, Push, Stash, Stash Pop, Fetch, Adicionar tudo e Reset (tira tudo do índice).
- Sem repositório, Não há repositório Git aqui oferece Inicializar repositório.
O que você não pode fazer, e por quê
- Usar a ação Diff no shell local: ela existe só por SSH.De propósito
- Stash com mensagem, descartar um único arquivo, merge, rebase, tag ou blame: não neste painel. Ele mesmo diz isso: Painel local sobre JGit; para um git completo use o Controle de código-fonte do editor.Ainda não
- Fazer push ou pull sem uma conta conectada: o painel mostra Git: … com o motivo e não abre um login.Precisa de rede
Conflitos
Um conflito significa que duas alterações tocaram nas mesmas linhas. O PocketCode tem duas formas guiadas de resolvê-lo: a caixa Mesclar branch do Controle de código-fonte, para um merge, e o resolvedor bloco a bloco de um rebase interativo. Se o conflito vem de um pull, de um stash aplicado ou de um cherry-pick, você lida com os marcadores de conflito por conta própria.
Arquivo por arquivo, depois de um merge
- 1Mescle um branch pelo Controle de código-fonte. Se houver conflito, uma mensagem diz O merge tem conflitos em: … e a caixa Mesclar branch mostra Conflitos de mesclagem detectados, N arquivo(s) precisam de resolução e a lista de arquivos.
- 2Toque em um arquivo para abrir as opções: Aceitar o atual, Aceitar o recebido, Aceitar os dois ou Editar manualmente.
- 3As três primeiras reescrevem o arquivo inteiro: cada bloco em conflito fica com aquele lado (ou com os dois, o atual primeiro), os marcadores somem e o arquivo é preparado. Uma mensagem confirma: Conflito resolvido: ….
- 4Editar manualmente abre o painel bloco a bloco descrito mais abaixo: escolha Ours, Theirs ou Both em cada bloco e toque em Aplicar.
- 5Quando não sobra nenhum arquivo na lista, a caixa volta para o seletor de branches. Os arquivos resolvidos ficam preparados: escreva uma mensagem e toque em Confirmar.
O que você pode fazer
- Resolver os arquivos um a um e ver a contagem baixar.
- Desistir com Abortar mesclagem: ela pergunta Abortar o merge? e Abortar confirma; a mensagem diz Merge abortado.
O que você não pode fazer, e por quê
—
Bloco a bloco, durante um rebase
- 1Quando um rebase interativo para em um conflito, cada arquivo em conflito mostra Resolver.
- 2Para cada bloco escolha Ours (Current (ours)), Theirs (Incoming (theirs)) ou Both. O cabeçalho conta seu progresso: N / M resolvidos.
- 3Toque em Aplicar. O arquivo é salvo e preparado quando não sobra nenhum marcador de conflito. Os blocos que você não escolheu mantêm seus marcadores.
- 4De volta ao rebase, toque em Continuar (ou Ignorar este commit, ou Abortar).
O que você não pode fazer, e por quê
- Escolher a versão do ancestral comum de um bloco, ou editar à mão dentro do painel.Ainda não
Conflitos de um pull, stash ou cherry-pick
Em Projetos, um pull com conflito diz: As mesmas linhas mudaram dos dois lados. Abre os ficheiros afetados, fica com a versão que queres e tenta outra vez. Esse é o caminho aqui também.
O que você não pode fazer, e por quê
- Usar um resolvedor guiado para um conflito vindo de um pull, de um stash aplicado ou de um cherry-pick: só a caixa Mesclar branch e o rebase interativo têm um.Ainda não
<<<<<<<, =======, >>>>>>>) nos seus arquivos: abra-os e fique com a versão que quiser.Rebase interativo e cherry-pick
Rebase interativo e cherry-pick não abrem pelo Controle de código-fonte: ficam no painel do GitHub. Abra PRs e issues do GitHub e use o menu ⋮ → Rebase interativo… ou Cherry-pick….
origin do projeto está no github.com. Um projeto sem remoto, ou cujo origin esteja no GitLab, Bitbucket ou outro host, não consegue abrir rebase nem cherry-pick. Projetos → Git → Histórico oferece Cherry-pick em qualquer commit em que você tocar, sem hash para digitar, e informa o resultado em uma mensagem.Rebase interativo
- 1Abra Rebase interativo…. O painel começa no planejamento: nada toca no seu repositório ainda.
- 2Escolha Branch de destino. Começa como
mainoumasterquando existe um e não é o seu branch atual. - 3Para cada commit escolha Aplicar, Reescrever, Esmagar, Fundir sem mensagem ou Descartar, e use Editar mensagem para mudar a mensagem de um commit.
- 4Se você tem alterações sem commit, o painel avisa; ative Guardar as minhas alterações no stash antes de começar para colocá-las de lado. Se o rebase termina, elas continuam no stash (aplique-as em Guardar à parte); se você aborta, elas voltam sozinhas.
- 5Toque em Começar o rebase. Uma confirmação lista o plano (por exemplo, dois Aplicar e um Esmagar) e quantos commits serão removidos do branch; eles continuam no backup.
- 6Se um commit entra em conflito, o rebase para: Parado em … · passo N de M. Use Resolver em cada arquivo (veja Conflitos), depois Continuar; ou Ignorar este commit, ou Abortar. Cada um pede sua confirmação.
- 7Quando termina, aparece Rebase concluído (ou Rebase desfeito depois de um abort). Restaurar a cópia devolve o branch ao que era antes do rebase; Outro rebase recomeça.
O que você pode fazer
- Antes de qualquer mudança, o PocketCode salva a ponta atual do seu branch como
refs/pocketcode/rebase-backup/<branch>. - Um rebase nunca começa com alterações sem commit, a menos que você as coloque antes no stash.
- Abortar desfaz tudo (branch, índice e árvore de trabalho) e reaplica o seu próprio stash.
- O plano é salvo dentro de
.git, então Continuar e Ignorar este commit continuam funcionando se o app foi fechado no meio. - Restaurar a cópia move o branch de volta para a ponta salva, mas só com a árvore de trabalho limpa; os commits feitos depois do rebase ficam então apenas no reflog do Git.
O que você não pode fazer, e por quê
- Reordenar commits: o painel não permite.De propósito
- Usar a ação Edit: o Git criaria um novo commit em vez de fazer amend, então ela não é oferecida.De propósito
- Começar com Esmagar ou Fundir sem mensagem no primeiro commit que você mantém, ou descartar todos os commits: o painel recusa os dois.De propósito
- Fazer rebase sobre um branch remoto, ou fazer rebase de um branch que não seja o atual: só branches locais são oferecidos, e um HEAD desanexado é recusado.Ainda não
- Abri-lo pelo Controle de código-fonte, a partir de um projeto sem remoto, ou de um cujo
originnão esteja no github.com.Ainda não
Cherry-pick
- 1Abra Cherry-pick…, digite um hash de commit em Hash do commit e toque em Adicionar. Adicione quantos precisar; eles aparecem como chips.
- 2Toque em Cherry-Pick (ou Cherry-pick de N commits) e confirme: Aplicar N commits sobre o ramo atual, em ordem?
- 3O painel informa Cherry-pick de … concluído com sucesso ou O cherry-pick falhou: ….
O que você não pode fazer, e por quê
- Escolher commits a partir de uma lista: você precisa saber e digitar o hash, e a única verificação é que ele não tenha espaços.Ainda não
- Contar com a ordem quando você adiciona vários hashes: eles são iniciados juntos, então o “em ordem” da confirmação não é garantido. Faça cherry-pick de um por vez quando a ordem importar.Ainda não
- Confiar em Commit novo: …: ele mostra o hash que você digitou, não o id do commit criado.Ainda não
- Resolver um conflito: um cherry-pick em conflito só informa uma falha, sem resolvedor.Ainda não
GitHub: pull requests, issues, CI e avisos
PRs e issues do GitHub conversa com o repositório do GitHub do projeto aberto no editor. Ele lê o remoto origin do projeto e usa a conta que você conectou em Serviços conectados; as requisições vão direto do seu celular para api.github.com. O cabeçalho mostra owner/repo, um ícone para abrir o repositório no navegador e o menu ⋮.
Primeiros passos
Você precisa de um projeto cujo origin esteja no github.com e de uma conta do GitHub conectada. Sem projeto aberto, o painel diz O caminho do projeto não foi definido — abra pelo editor; os outros casos estão em Solução de problemas. Ele tem quatro abas.
| Aba | O que mostra |
|---|---|
| PRs · N | Os pull requests do repositório, os atualizados mais recentemente primeiro. |
| Issues · N | As issues dele (pull requests ficam de fora). |
| CI | Os checks do pull request que você abriu. |
| Avisos · N | Suas notificações do GitHub; N é a contagem de não lidas, carregada na primeira vez que você abre a aba. |
Pull requests
O que você pode fazer
- Filtre com Abertas, Minhas, Revisão pedida, Fechadas ou Todas. Minhas e Revisão pedida são filtradas no seu celular com base no seu login do GitHub.
- Leia a lista: estado (Aberta, Rascunho, Mesclada, Fechada), número, título, autor, idade, revisões pedidas e rótulos.
- Abra um: Resumo (descrição,
head → base, arquivos alterados,+N / −M, commits, responsáveis, rótulos, Checks e Revisões com seu estado), Arquivos · N (caminhos com+/−) e Comentários · N. - Veja por que não dá para mesclar: um banner diz Não é possível mesclar: … seguido dos motivos que se aplicam (conflitos de mesclagem, um check com falha, alterações solicitadas).
- Escreve um comentário… publica um comentário de conversa. Fechar PR fecha o pull request.
- Fundir oferece Commit de fusão, Combinar e fundir e Rebasear e fundir. O app envia o commit head que mostrou a você, então, se alguém fez push nesse meio-tempo, o GitHub recusa em vez de mesclar commits que você não viu.
- Novo pull request de … (precisa de um branch atual): título, descrição, Ramo base e Ramo de origem, Criar como rascunho e rótulos, depois Criar pull request.
O que você não pode fazer, e por quê
- Enviar uma revisão (aprovar ou pedir alterações), comentar em uma linha ou ler o diff do pull request: as revisões são mostradas, mas só para leitura, e Arquivos lista caminhos sem abri-los.Ainda não
- Escolher revisores ao criar um pull request.Ainda não
- Reabrir um pull request, editar o título ou a descrição, ativar o auto-merge ou atualizar o branch dele.Ainda não
- Usar merge requests do GitLab, pull requests do Bitbucket ou GitHub Enterprise: só repositórios do github.com são lidos.De propósito
Issues
O que você pode fazer
- Filtre com Abertas, Minhas issues (atribuídas a você), Fechadas ou Todas.
- Leia a lista (estado, número, contagem de comentários, autor, rótulos) e abra uma para ver o corpo, as datas, responsáveis, rótulos, marco, comentários e uma caixa de comentário.
- Fechar problema a fecha como concluída. Criar problema pede um título, uma descrição e rótulos.
O que você não pode fazer, e por quê
- Escolher um marco ou responsáveis ao criar uma issue, reabrir uma, editá-la, rotulá-la depois ou buscar.Ainda não
CI
O que você pode fazer
- Abra um pull request e depois a aba CI: os checks do commit head dele (execuções do GitHub Actions, checks de outros apps e statuses clássicos) sob um único resumo, como Todos os checks passaram, Alguns checks falharam ou Checks em andamento.
O que você não pode fazer, e por quê
- Ver o CI sem abrir antes um pull request (a aba diz Seleciona um PR para ver o estado de CI), ler logs, ou executar de novo ou cancelar uma execução.Ainda não
origin dele e a coloca no feed de status do Backend Manager. Precisa desse serviço conectado e não se atualiza sozinho.Avisos
O que você pode fazer
- Abra Avisos: suas notificações do GitHub nas quais você participa. Cada linha tem um ícone do tipo (revisão pedida, aprovado, alterações solicitadas, merge, comentário, atribuído, menção, CI passou ou falhou, release), o título e repo · motivo.
- Toque em uma não lida para marcá-la como lida, ou em Marcar tudo como lido. Quando não sobra nenhuma, diz Tudo em dia.
O que você não pode fazer, e por quê
- Abrir o pull request ou a issue por trás de uma notificação: tocar só a marca como lida.Ainda não
- Ver notificações com um token fine-grained: o GitHub só as mostra para um token clássico ou um login OAuth, e o painel avisa isso.Terceiros
Histórico local
O Histórico local guarda versões anteriores de um arquivo no seu celular, sem Git, sem rede e sem conta. É grátis. Abra-o pela paleta de comandos: Histórico local….
O que ele guarda
O que você pode fazer
- Uma versão é salva depois de cada salvamento bem-sucedido, e só quando o texto difere da última versão salva. Funciona para arquivos do projeto e para arquivos que você abriu de fora do projeto.
- Guarda até 50 versões por arquivo e 50 MB no total, medidos comprimidos. Passando do total, as versões mais antigas de qualquer arquivo saem primeiro. Não há expiração por tempo.
- As versões ficam no armazenamento privado do PocketCode, nunca dentro do seu projeto, então nunca aparecem como alterações do Git. Renomear ou mover um arquivo leva o histórico junto.
O que você não pode fazer, e por quê
- Guardar versões de arquivos grandes: o editor abre arquivos a partir de 512 KiB, 10.000 linhas ou uma linha de 2.000 caracteres no modo leve, e esses não são salvos.De propósito
- Mudar os limites, ou fixar ou rotular uma versão.De propósito
Navegar e restaurar
- 1Abra o arquivo e escolha Histórico local…. O subtítulo mostra quantas versões há, por exemplo 12 versões.
- 2Cada linha mostra quando foi salva e o tamanho. Toque em uma para ver a diferença entre essa versão e o texto atual.
- 3Copiar esta versão copia o texto dela. Restaurar esta versão a coloca no editor como uma edição que você pode desfazer. Nada é gravado no disco até você salvar.
O que você não pode fazer, e por quê
- Comparar duas versões antigas entre si: elas são sempre comparadas com o texto atual.Ainda não
Comparar com…
Abra a paleta de comandos e escolha Comparar com… para comparar o arquivo aberto com outra coisa. O resultado é somente leitura.
Escolha com o que comparar
O que você pode fazer
- Escolha a base: No disco (A versão salva deste arquivo), HEAD (O último commit do git), Área de transferência (O texto copiado) ou Outra aba aberta.
- Uma base que não está disponível diz o motivo: Não há repositório Git, A área de transferência está vazia ou Não há outras abas abertas.
- O diff abre com o título arquivo ↔ base; Trocar inverte os dois lados.
O que você não pode fazer, e por quê
- Editar a partir do diff ou vê-lo em duas colunas: é uma única lista unificada de linhas alteradas.De propósito
Free e Pro
O Git não tem limites de plano próprios. Nenhuma operação do Git, recurso do GitHub, Histórico local, Comparar com… ou Painel Git do terminal fica trancado atrás do Pro, e o plano não coloca teto em repositórios, branches, commits ou operações. Dois limites ao redor dele dependem do plano.
| Recurso | Free | Pro |
|---|---|---|
| Controle de código-fonte, stash, blame, histórico do arquivo, comparar branches | Incluído | Incluído |
| Rebase interativo, cherry-pick, resolvedor de conflitos | Incluído | Incluído |
| Pull requests, issues, CI e avisos do GitHub | Incluído | Incluído |
| Histórico local | Incluído: 50 versões por arquivo, 50 MB no total | Igual |
| Painel Git no terminal, os painéis Git do cartão do projeto, clonar e publicar | Incluído | Incluído |
| Projetos próprios (novo, importar, abrir pasta, clonar do GitLab ou Bitbucket) | 1. Os projetos de exemplo não contam | Sem limite |
| Contas conectadas por provedor (GitHub, GitLab, Bitbucket…) | 1 | Sem limite |
Privacidade e segurança
- O token fica no celular. O token que você recebe em Entrar com um código é salvo criptografado com o Android Keystore, separadamente para cada conta do PocketCode e cada conta de provedor. Sair da conta não o apaga; o app só passa a usar o armazenamento de outra conta.
- Para onde o token vai. O Git o envia apenas para github.com, gitlab.com e bitbucket.org, com correspondência exata do host: um remoto em qualquer outro host não recebe credenciais. O painel PRs e issues do GitHub o envia para
api.github.comdireto do seu celular. - Entrar com o GitHub é outra coisa. Se você entra no próprio PocketCode com o GitHub, esse token do GitHub também é salvo nos servidores do PocketCode, e no dispositivo como uma chave do GitHub (ela serve ao Copilot e, como alternativa, ao clone). O token que push, pull e o painel do GitHub usam é o de Serviços conectados, que fica guardado só no dispositivo.
- Hooks nunca rodam. Hooks e filtros do Git não são executados, e quando você importa um projeto (ZIP, template, pasta) o
.git/configdele é limpo de tudo o que poderia executar um comando e os hooks são esvaziados. É uma decisão de segurança. - O Histórico local fica no dispositivo, no armazenamento privado do app e fora do projeto, então não faz parte das suas alterações do Git.
- O ZIP de um projeto inclui o seu histórico. Exportar em um cartão de projeto inclui a pasta
.git, então tudo o que você commitou viaja com o arquivo. - O que um commit expõe. Cada commit leva o nome e o e-mail definidos para o repositório (ou os da sua conta do PocketCode, quando você faz commit pelo Projetos). Qualquer pessoa que consiga ler o repositório os vê. Os commits não são assinados.
Limitações
O que não funciona, para não pegar você de surpresa. O selo diz o motivo.
- Sem remotos SSH. Endereços
git@…essh://não são suportados; use o endereço HTTPS do repositório. O PocketCode avisa isso antes de tentar.De propósito - As credenciais vão para só três hosts: github.com, gitlab.com e bitbucket.org. Remotos no GitHub Enterprise, GitLab auto-hospedado, Gitea, Codeberg ou Azure DevOps não recebem nenhuma, então os repositórios privados de lá falham.De propósito
- Pull requests, issues, CI e avisos são só do GitHub.com.De propósito
- Sem Git LFS, sem submódulos, sem assinatura de commits (GPG ou SSH). Arquivos LFS ficam como pequenos ponteiros de texto, clones não baixam submódulos e os commits não são assinados.Ainda não
- Hooks do Git nunca rodam, e os hooks de repositórios importados são excluídos.De propósito
- O terminal local não tem o programa
git. O Painel Git dele usa o motor integrado, que faz menos coisas que ogit. Por SSH, usa-se ogitdo próprio host.De propósito - Só branches locais aparecem nas listas de merge, comparação e rebase. Você não pode criar um branch local a partir de um remoto, e nada exclui ou renomeia branches.Ainda não
- O Controle de código-fonte não inicia repositório, não faz fetch, e não consegue criar ou trocar branches, fazer amend, descartar, criar tags ou editar remotos. Projetos e o terminal cobrem a maior parte disso.Ainda não
- Resolução guiada de conflitos só para um merge e um rebase. A caixa Mesclar branch e o rebase interativo têm uma; um pull, um stash aplicado ou um cherry-pick que entra em conflito deixa marcadores para você editar.Ainda não
- Stash: arquivos novos não entram, e Recuperar sempre pega a entrada mais nova.Ainda não
- O rebase não reordena commits nem usa Edit.De propósito
- Rebase e cherry-pick só abrem pelo painel do GitHub, e só quando o
originestá no github.com.Ainda não - Cherry-pick: o hash é digitado à mão, vários hashes não têm ordem estrita, Commit novo mostra o hash digitado e conflitos não têm resolvedor.Ainda não
- Revisões de pull request não podem ser enviadas, comentários em linhas não podem ser escritos e o diff do pull request não pode ser lido. Revisores, responsáveis e marcos não podem ser escolhidos ao criar algo.Ainda não
- As listas do GitHub param em 300 itens; as notificações carregam seis páginas de 50.De propósito
- Os avisos precisam de um token que o GitHub deixe ler notificações: tokens fine-grained são recusados.Terceiros
- O limite de requisições do GitHub: quando é atingido, o painel diz para tentar de novo em alguns minutos.Terceiros
- Entrar com um código só funciona enquanto o GitHub tem o device flow ligado para o app OAuth do PocketCode; caso contrário, o painel diz que o GitHub não o está oferecendo.Terceiros
- Clone, fetch, pull, push, publicar e tudo no GitHub precisam de conexão. O resto funciona offline.Precisa de rede
- Painel Git do terminal: sem Diff local, sem mensagem de stash, sem descartar um único arquivo, sem merge, rebase, tags ou blame.Ainda não
- Projetos: sem excluir nem renomear branches, sem reset mixed, sem restaurar um arquivo a partir de um commit.Ainda não
- Histórico local: 50 versões por arquivo e 50 MB no total, sem expiração por tempo, e nada é salvo para arquivos no modo leve (arquivos grandes).De propósito
Solução de problemas
Cada título é a mensagem que o app mostra. Onde o app não mostra nada, o título descreve a situação. No painel do GitHub, um banner diz o que falhou e depois por quê.
Conectar o GitHub
“O código expirou antes de ser aprovado. Pede outro ao GitHub.”
Você demorou mais de uns 15 minutos. Toque em Tentar de novo para obter um novo código e depois aprove-o.
“O pedido foi recusado no GitHub. Não se guardou nada.”
A aprovação foi negada na página do GitHub, então nada foi conectado. Toque em Tentar de novo e aprove desta vez.
“O GitHub não está a oferecer agora a entrada por código. Cola um token: funciona exatamente igual.”
O pedido de código falhou. Pode ser que o GitHub não tenha ativado o login por código para o app OAuth do PocketCode, o que depende da configuração do GitHub e não do seu celular; a mesma mensagem também aparece quando o pedido não consegue sair, por exemplo sem conexão. Verifique a conexão e tente de novo mais tarde.
“O GitHub não concluiu a autorização. Tenta outra vez ou cola um token.”
O login terminou sem um token. Toque em Tentar de novo e aprove o novo código.
Clonar, push e pull pelo Projetos
“Este remoto usa SSH, que não é suportado. Usa o endereço HTTPS do repositório.”
O PocketCode só fala com remotos por HTTPS. Ligue o repositório com o endereço https://…; um repositório que você clona pela lista de Clonar já o usa.
“Este projeto ainda não tem remoto. Liga um nas definições de Git.”
Abra Git no cartão do projeto e use Ligar um repositório que já tenho ou Criar em GitHub e ligar; ou use Publicar.
“Não há nenhuma conta ligada a GitHub. Liga uma nas Definições para enviar ou obter.”
Conecte a conta primeiro: Configurações → Integrações → Serviços conectados.
“GitHub rejeitou as credenciais. Liga novamente a conta nas Definições.”
O GitHub não aceita mais o token salvo, por exemplo porque expirou ou foi revogado. Conecte a conta de novo em Serviços conectados.
“Não foi possível contactar GitHub. Verifica a ligação e tenta novamente.”
Clone, fetch, pull e push precisam de conexão. O trabalho local não.
“O remoto rejeitou o envio. Obtém primeiro as alterações do remoto e envia de novo.”
O remoto tem commits que você não tem. Toque em Obter alterações e depois em Enviar alterações de novo.
“A tua ramificação e a remota mudaram ambas.”
Baixe primeiro as alterações do remoto e depois envie de novo: Obter alterações e depois Enviar alterações.
“Este projeto e o remoto não partilham histórico.”
Costuma acontecer quando a pasta já tinha commits antes de ligar o remoto. Clone em uma pasta vazia ou ligue outro remoto.
“As mesmas linhas mudaram dos dois lados.”
Abra os arquivos afetados, fique com a versão que quiser e tente de novo. Um pull não tem resolvedor de conflitos; um merge iniciado no editor tem um na caixa Mesclar branch (veja Conflitos).
PRs e issues do GitHub
“O remoto "origin" não está no GitHub (…).”
O painel só funciona com o github.com. O host entre parênteses é o que o PocketCode encontrou em origin.
“Este projeto não tem o remoto "origin". Adicione um remoto do GitHub para ver seus pull requests e issues.”
Use Git → Ligar um repositório que já tenho, ou Publicar, no cartão do projeto.
“Conecte sua conta do GitHub em Serviços para ver os pull requests e issues de owner/repo.”
Toque em Conectar conta do GitHub na tela Nenhuma conta do GitHub conectada, ou vá a Configurações → Integrações → Serviços conectados.
“O GitHub rejeitou o token. Reconecte sua conta do GitHub em Serviços.”
O token salvo foi recusado. Conecte a conta de novo em Serviços conectados.
“A conta conectada não tem permissão para isso: …”
A conta consegue ler o repositório, mas não fazer essa ação. O motivo vem depois dos dois-pontos.
“Não encontrado. Se o repositório for privado, a conta conectada pode não ter acesso a ele.”
Confira se a conta conectada é a que consegue abrir esse repositório no GitHub.
“O GitHub rejeitou os dados: …”
O GitHub não aceitou o que foi enviado. O motivo vem depois dos dois-pontos.
“O GitHub não pode fazer isso agora: …”
O GitHub recusou a ação no estado atual das coisas. O motivo vem depois dos dois-pontos; se o pull request mudou desde que você o abriu, abra-o de novo e tente outra vez.
“O limite de requisições do GitHub foi atingido. Tente de novo em … min.”
Espere os minutos indicados. A tela cheia se chama O GitHub limitou as requisições; toque em Tentar novamente quando o tempo passar.
“O GitHub está com problemas (HTTP …). Tente mais tarde.”
O próprio GitHub respondeu com um erro. Não há nada de errado no seu celular.
“Não foi possível acessar o GitHub. Verifique sua conexão.”
O painel do GitHub precisa de conexão; o resto do Git não.
“O GitHub só mostra notificações a um token clássico ou a um login OAuth com o escopo "notifications"; tokens fine-grained não podem lê-las.”
Só a aba Avisos é afetada; PRs, Issues e CI continuam funcionando.
“O pull request foi criado, mas não foi possível adicionar seus revisores ou rótulos”
Seu pull request existe no GitHub; só os extras falharam. Abra-o no GitHub para adicioná-los.
Rebase interativo
“Não estás num ramo (HEAD desligado). Muda primeiro para um ramo.”
Mude para um branch (Projetos → Git → Ramo, ou o Painel Git do terminal) e comece de novo.
“Há alterações sem commit: …”
Faça commit delas, ou ative Guardar as minhas alterações no stash antes de começar.
“Já há um merge ou um rebase em curso neste repositório.”
Termine-o ou aborte-o primeiro. Para um rebase, o painel tem Continuar, Ignorar este commit e Abortar.
“O rebase ia sobrescrever ficheiros sem controlo: …. Move-os ou faz commit antes. Não se alterou nada.”
Mova ou faça commit dos arquivos que a mensagem lista e comece de novo.
“O ramo mudou desde que a lista foi carregada. Carrega-a de novo.”
O branch avançou depois que o plano foi carregado. Reabra Rebase interativo… para recarregá-lo.
“O Git não conseguiu aplicar … e desfez o rebase. O ramo está como estava.”
Nada foi perdido. O commit que a mensagem cita não pôde ser aplicado sobre o branch de destino.
“Depois de resolver, este commit fica vazio. Ignora-o para continuar.”
Sua resolução não deixou nada para aplicar. Toque em Ignorar este commit.
“O primeiro commit que fica não pode ser Esmagar nem Fundir: não há um anterior onde o fundir.”
Dê Aplicar ou Reescrever ao primeiro commit que você mantém.
“Estás a descartar todos os commits. Deixa pelo menos um.”
Troque pelo menos um commit de Descartar para outra ação.
“Não há cópia de segurança de rebase para este ramo.”
Restaurar a cópia só funciona em um branch que o PocketCode rebaseou e cuja ponta salva ainda existe.
No editor e no terminal
“O push falhou: …”, “O pull falhou: …” ou “O commit falhou: …” no editor
A mensagem depois dos dois-pontos é o motivo. Push e pull precisam da sua conta conectada; o editor nunca abre um login. Projetos (Enviar alterações / Obter alterações) e o Painel Git do terminal executam as mesmas ações e mostram o erro com as próprias palavras.
“O merge tem conflitos em: …”
O merge parou por conflitos. Abra Mesclar branch de novo: a caixa lista os arquivos e deixa você resolver cada um ou Abortar mesclagem (veja Conflitos).
O Controle de código-fonte diz Nenhuma alteração, mas eu mudei arquivos
Ou a árvore de trabalho está limpa, ou o projeto ainda não é um repositório. Em Projetos → Git, Ainda sem controlo de versões significa que você precisa de Começar a controlar este projeto.
“Não há repositório Git aqui”
O Painel Git do terminal não achou nenhum .git na pasta em que você trabalha nem nas pastas acima dela dentro do seu workspace. Toque em Inicializar repositório.
“Git: …”
O motivo vem em seguida. Push e pull precisam da sua conta conectada; o painel nunca abre um login por conta própria.
Próximo