PuppyGit - Guia Completo e Análise Detalhada
PuppyGit — Guia Completo e Análise Detalhada {#puppygit-guia-completo-e-análise-detalhada}
Autor: MiniMax Agent Data: 16 de abril de 2026 Versão do Documento: 1.0
1. Introdução ao PuppyGit {#introdução-ao-puppygit}
O PuppyGit é um cliente Git de código aberto para dispositivos Android, desenvolvido pela equipe catpuppyapp, que permite aos usuários gerenciar repositórios Git diretamente de seus dispositivos móveis. O aplicativo destaca-se no ecossistema Android por oferecer uma solução completa e gratuita, sem anúncios, para desenvolvedores, escritores, estudantes e profissionais que necessitam acessar e manipular seus projetos versionados a partir de dispositivos móveis. Com mais de 4.100 commits, 87 lançamentos e uma comunidade ativa de contribuidores, o PuppyGit consolidou-se como uma das ferramentas mais completas para gerenciamento de Git em ambiente Android.
A filosofia por trás do PuppyGit concentra-se em trazer a experiência completa de um cliente Git desktop para o formato móvel, permitindo operações que vão desde as mais básicas, como commits e pushes, até funcionalidades avançadas como resolução de conflitos, cherry-pick, rebase e gerenciamento de submodules. O aplicativo utiliza bibliotecas nativas como libgit2 para operações Git, libssh2 para conexões SSH seguras e OpenSSL para criptografia, garantindo performance e segurança comparáveis às soluções desktop.
Este documento apresenta uma análise exaustiva do PuppyGit, explicando detalhadamente cada função do aplicativo, as opções de configuração disponíveis e a interpretação detalhada de cada elemento visual presente nas capturas de tela fornecidas. O objetivo é fornecer um guia de referência completo que permita ao usuário aproveitar todas as capacidades do aplicativo de forma eficiente e segura.
2. Visão Geral dos Recursos Principais {#visão-geral-dos-recursos-principais}
2.1 Operações Git Fundamentais {#operações-git-fundamentais}
O PuppyGit implementa um conjunto abrangente de operações Git que cobrem todo o fluxo de trabalho típico de desenvolvimento. As operações de rede incluem fetch para buscar atualizações do repositório remoto sem aplicá-las, pull para buscar e mesclar alterações automaticamente, push para enviar commits locais para o repositório remoto, e clone para criar uma cópia local de um repositório existente. O aplicativo também suporta clone com profundidade limitada (shallow clone), útil para repositórios muito grandes onde apenas o histórico recente é necessário.
As operações de integração de branches incluem merge para combinar alterações de diferentes branches, rebase para reorganizar commits de forma linear, e cherry-pick para aplicar commits específicos de outras branches. Para gerenciamento de histórico, o aplicativo oferece acesso completo ao git log com visualização de commit history, git reflog para recuperação de commits perdidos, e suporte completo para tags e stashes. A operação reset permite retornar a estados anteriores do repositório, enquanto a resolução de conflitos fornece ferramentas visuais para lidar com divergências entre branches.
2.2 Gerenciamento de Arquivos e Edição {#gerenciamento-de-arquivos-e-edição}
O explorador de arquivos integrado no PuppyGit permite navegar pela estrutura de diretórios do repositório de forma intuitiva, com suporte para múltiplos pontos de armazenamento incluindo Internal Storage, External Storage, App Data e Dev Data. O editor de texto simples suporte codificação UTF-8 e inclui recursos de syntax highlighting para código fonte, preview de arquivos Markdown, e criação automática de snapshots antes de modificações para permitir recuperação em caso de erros.
A funcionalidade "Open As" permite abrir arquivos em editores externos instalados no dispositivo, integração particularmente útil com editores especializados como Squircle CE para edição de código ou Markor para edição de documentos Markdown. O sistema de snapshots pode ser configurado para criar backups automáticos do arquivo original antes de cada salvamento, além de snapshots do conteúdo atual do editor, proporcionando múltiplas camadas de proteção contra perda de dados.
2.3 Automação e Integração {#automação-e-integração}
Um dos recursos mais poderosos do PuppyGit é seu sistema de automação que permite sincronização automática de repositórios quando aplicativos específicos são abertos ou fechados. Esta funcionalidade é especialmente valiosa para usuários de aplicativos de notas como Obsidian ou Markor, permitindo que suas notas sejam automaticamente sincronizadas via Git sem intervenção manual. O sistema monitora a execução de aplicativos selecionados e executa pull/push conforme configurado.
A integração com ferramentas de automação como Tasker é possibilitada através de um serviço HTTP integrado que expõe APIs para chamar remotamente funções de pull, push e sync. Esta arquitetura permite criar fluxos de trabalho complexos onde o PuppyGit pode ser acionado por eventos do sistema ou de outros aplicativos, transformando-o em um componente central de fluxos de trabalho automatizados.
2.4 Segurança e Credenciais {#segurança-e-credenciais}
O sistema de segurança do PuppyGit implementa múltiplas camadas de proteção para credenciais de usuário. A opção Master Password permite configurar uma senha mestra que protege todas as senhas e passphrases armazenadas, exigindo autenticação a cada inicialização do aplicativo. Para conexões SSH, o sistema de host verification exibe prompts de Allow/Reject para hosts desconhecidos, com opção de configurar comportamento padrão para aceitar automaticamente hosts não reconhecidos.
O gerenciamento de certificados SSL permite importar e gerenciar certificados para conexões HTTPS, com opção de desabilitar verificação SSL para ambientes de desenvolvimento. O aplicativo nunca armazena senhas em texto puro, utilizando armazenamento seguro do Android para credenciais sensíveis.
3. Análise Detalhada das Capturas de Tela {#análise-detalhada-das-capturas-de-tela}
3.1 Tela de Configurações Gerais {#tela-de-configurações-gerais}
A primeira captura de tela apresenta a seção "Settings" do PuppyGit, exibindo as opções de configuração geral do aplicativo. A interface utiliza um tema escuro com paleta de cores em tons de marrom e bege, demonstrando uma preocupação estética que diferencia o aplicativo de clientes Git mais austeros. A barra superior contém o ícone de menu hambúrguer para navegação e o título "Settings" centralizado.
Seção General — Configurações de Aparência e Comportamento
A opção Theme apresenta um dropdown com valor atual "Auto", permitindo alternar entre modos claro, escuro ou automático seguindo as configurações do sistema Android. Esta flexibilidade permite adaptar a aparência do aplicativo ao ambiente de uso, seja em ambientes com alta ou baixa luminosidade. A seleção de tema afeta todos os elementos visuais do aplicativo, incluindo ícones, textos e componentes de interface.
A opção Language exibe a sub-nota "Require Restart App", indicando que alterações neste setting exigem reinicialização do aplicativo para efeito. O dropdown está configurado como "Auto", seguindo o idioma do sistema Android, mas o usuário pode selecionar manualmente entre os idiomas suportados. A tradução do aplicativo é um esforço comunitário, com contribuições abertas para novos idiomas e correções em idiomas existentes.
O Log Level controla a verbosidade dos logs do aplicativo, atualmente configurado como "Warn". As opções típicas incluem níveis como Error, Warn, Info e Debug, permitindo desde logs mínimos mostrando apenas problemas críticos até logs detalhados úteis para troubleshooting. O ícone de pasta ao lado permite acessar os arquivos de log gerados pelo aplicativo, úteis para diagnóstico de problemas ou análise de comportamento.
O toggle Dynamic Color Scheme está ativado (ON), permitindo que as cores do aplicativo se adaptem dinamicamente ao papel de parede ou tema do sistema Android. Esta funcionalidade, disponível em versões mais recentes do Android, proporciona uma experiência visual mais coesa com o restante do sistema. Quando desativada, o aplicativo utiliza cores fixas independente do tema do sistema.
O toggle Dev Mode está ativado (ON), habilitando funcionalidades Voltado para desenvolvedores que não são necessárias para uso cotidiano mas auxiliam em debugging e desenvolvimento. Estas funcionalidades incluem opções de exportação, diagnóstico detalhado e configurações avançadas normalmente ocultas na interface padrão.
O toggle Go to Top/Bottom Buttons está desativado (OFF), mas quando ativado adiciona botões de navegação rápida no explorer de arquivos, permitindo saltar diretamente para o início ou fim de listas longas de arquivos e pastas. Esta é uma funcionalidade de acessibilidade particularmente útil em dispositivos com telas menores.
Seção General — Configurações de Data, Hora e Mensagens
A opção TimeZone exibe o status atual "Follow System (UTC-3)" em texto verde, indicando que o aplicativo segue o fuso horário do sistema Android. Para a maioria dos usuários, esta configuração automática é a mais conveniente, mas em cenários específicos onde o repositório Git requer tratamento especial de timestamps, pode ser necessário configurar um fuso horário diferente.
A opção Commit Msg Template abre uma tela para definir um modelo padronizado de mensagens de commit. Organizations e projetos frequentemente seguem convenções específicas para mensagens de commit, como o formato Conventional Commits, e esta funcionalidade permite pré-preencher o campo de mensagem com placeholders que guiam o usuário a seguir estas convenções. O template utiliza formato especial com marcadores como ph_a3f241dc_NUMBER onde NUMBER indica a ordem dos placeholders.
A opção Clean oferece funcionalidades de limpeza, incluindo cache de edição, snapshots temporários e outros dados temporários gerados pelo aplicativo. Esta é uma ferramenta de manutenção que ajuda a liberar espaço de armazenamento quando necessário.
3.2 Tela de Configurações do Editor {#tela-de-configurações-do-editor}
A segunda captura de tela apresenta a seção "Editor" das configurações, focando nas opções relacionadas à edição de arquivos dentro do aplicativo.
Configurações de Interface do Editor
A opção File Association é um link de navegação que abre a tela de configuração de associações de arquivo. Esta funcionalidade permite definir quais tipos de arquivo são abertos automaticamente pelo PuppyGit quando selecionados em outros aplicativos ou gerenciadores de arquivos. A configuração adequada de associações de arquivo é importante para fluxo de trabalho integrado.
O toggle Syntax Highlighting está ativado (ON), habilitando o destaque de sintaxe no editor de texto interno. Esta funcionalidade utiliza a biblioteca Sora Editor para reconhecer e colorir diferentes elementos do código fonte, como palavras-chave, strings, comentários e números, facilitando a leitura e identificação de erros. A ativação deste recurso é recomendada para edição de código.
O toggle Use System Fonts está desativado (OFF), indicando que o aplicativo utiliza suas próprias fontes tipográficas otimizadas para legibilidade em ambiente de código. Quando ativado, o editor utilizará as fontes do sistema Android, o que pode ser preferível para usuários que desejam consistência visual com outros aplicativos ou que têm configurações de acessibilidade específicas.
Configurações de Snapshots e Cache
A opção File Snapshot inclui a descrição "Before saving file, create a snapshot for origin file first", indicando que quando ativada, o aplicativo cria automaticamente um backup do arquivo original antes de qualquer modificação. O ícone de pasta permite selecionar o diretório onde estes snapshots são armazenados. Esta funcionalidade fornece uma rede de segurança adicional contra modificações acidentais ou corrupções de arquivo.
A opção Content Snapshot funciona de forma similar, mas em vez de preservar o arquivo original, cria um snapshot do estado atual do conteúdo no editor. A descrição indica "Before saving file, create a snapshot for editor's content first", sugerindo um backup do que está sendo editado no momento. Ter ambas as opções ativadas proporciona proteção máxima, permitindo recuperação tanto do arquivo original quanto do trabalho em andamento.
A opção Edit Cache permite cachear input do usuário no diretório "PuppyGit-Data/EditCache". Quando ativada, o aplicativo preserva periodicamente o conteúdo digitado, permitindo recuperação em casos de crash ou fechamento acidental do aplicativo. Esta funcionalidade é especialmente valiosa ao editar arquivos grandes onde a perda de trabalho pode ser significativa.
3.3 Tela de Configurações de Diff {#tela-de-configurações-de-diff}
A terceira captura de tela apresenta a seção de configurações de Diff, que controla como as diferenças entre versões de arquivos são exibidas e processadas.
Configurações de Visualização de Diff
O toggle Syntax Highlighting no contexto de Diff está ativado (ON), garantindo que as diferenças entre arquivos sejam visualizadas com destaque de sintaxe. A visualização de diff com syntax highlighting facilita identificar rapidamente quais linhas foram modificadas e em quê, especialmente em arquivos de código fonte extensos.
O toggle Use System Fonts está desativado (OFF), mantendo a consistência com as configurações do editor para visualização de diferenças. A opção de fontes do sistema pode ser ativada para usuários que preferem visualizar diferenças usando as mesmas fontes utilizadas no restante do sistema.
A opção File Snapshot nesta seção segue o mesmo princípio da seção do Editor, criando snapshots do arquivo original antes de operações que modificam arquivos. O ícone de pasta permite configuração do diretório de armazenamento.
Configurações de Git e SSH
O toggle Pull with Rebase está desativado (OFF), indicando que o comportamento padrão de pull utiliza merge em vez de rebase. A configuração para rebase pode ser preferida em certos fluxos de trabalho onde se deseja manter histórico linear, mas requer compreensão das implicações desta operação para evitar perda de trabalho.
Na seção ssh, o toggle Allow Unknown Hosts está desativado (OFF), mantendo segurança máxima ao exigir confirmação explícita para conexões com hosts SSH não reconhecidos. A descrição indica "If enable, will allow unknown hosts as default, else will ask", esclarecendo que quando desativado, o aplicativo solicita confirmação antes de conectar a hosts novos.
A opção Forget Hostkeys permite limpar as chaves de host SSH armazenadas, sendo útil quando um servidor é reconfigurado com novas chaves ou em cenários de desenvolvimento onde servidores são frequentemente recriados.
3.4 Tela de Configurações HTTP e Segurança {#tela-de-configurações-http-e-segurança}
A quarta captura de tela apresenta as seções http/https, Master Password e Permissions das configurações.
Configurações de SSL/TLS
O toggle SSL Verify está ativado (ON), garantindo que conexões HTTPS validam certificados SSL do servidor. Esta é a configuração padrão de segurança e deve ser mantida ativada exceto em ambientes de desenvolvimento controlados. Para desenvolvimento local com certificados auto-assinados, pode ser necessário desativar esta opção temporariamente.
As opções Import SSL Certs e Manage SSL Certs fornecem controle sobre certificados SSL personalizados. A importação permite adicionar certificados de autoridades certificadoras não reconhecidas pelo sistema Android ou certificados de servidores internos, enquanto a gestão permite visualizar, editar e remover certificados anteriormente configurados.
Configurações de Segurança com Senha Mestra
A seção Master Password exibe claramente o status "Disabled", indicando que nenhuma senha mestra está atualmente configurada. A descrição explica que "Master password used to protect password/passphrase of your credentials. If set, will require input master password when launching app", ou seja, quando configurada, a senha mestra será solicitada a cada inicialização do aplicativo para proteger todas as credenciais armazenadas.
A configuração de senha mestra é especialmente recomendada para usuários que armazenam credenciais de múltiplos repositórios ou que utilizam o aplicativo em dispositivos compartilhados. A senha mestra oferece uma camada adicional de segurança sem a necessidade de gerenciar múltiplas senhas individuais.
Configurações de Permissões
A opção Manage Storage explica que "If you want to clone repo into external storage, this permission is required", indicando a necessidade de gerenciar permissões de armazenamento para克隆 repositórios em armazenamento externo. O Android 11+ implementa restrições de acesso a armazenamento que podem requerer permissões específicas para certain operações de arquivo.
3.5 Tela de Configurações de Dev Zone {#tela-de-configurações-de-dev-zone}
A quinta captura de tela apresenta a seção Dev Zone com opções avançadas para desenvolvedores e troubleshooting.
Configurações de Performance de Diff
O toggle Single Diff está desativado (OFF) com a descrição "Enable for better performance". Quando ativado, esta opção otimiza a renderização de diffs para melhor performance em dispositivos mais antigos ou com grandes arquivos. A descrição sugere que a configuração padrão pode ter performance inferior em certos cenários.
O toggle Treat No Words Matched as Non-Matched está desativado (OFF) com descrição relacionada ao tratamento de palavras não correspondidas em diffs. Esta configuração afeta como o algoritmo de diff trata sequências de caracteres que não correspondem exatamente, sendo útil para ajustá-la conforme o tipo de conteúdo sendo comparado.
Configurações de Matching e Carregamento
A opção Degrade Match by words com descrição "Degrade to Match by chars if Match by words was non-matched, not good for space-split language matching (like English), but good for non-space-split language (like Chinese)" oferece ajuste fino do algoritmo de diff. Esta configuração é particularmente relevante para usuários que editam conteúdo em idiomas sem separação de palavras, como Chinês ou Japonês, onde o matching por palavras pode não funcionar adequadamente.
O toggle Show 'No/All Matched' at Diff Screen está ativado (ON), exibindo indicadores visuais quando todas ou nenhuma palavra é correspondida durante a visualização de diff. Esta informação ajuda o usuário a entender rapidamente a qualidade do matching realizado.
Configurações de Carregamento e Debug
O toggle Legacy ChangeList Load Method está ativado (ON) com a descrição "Better enable this, new method are unstable and maybe slower". Esta configuração utiliza o método tradicional de carregamento de lista de alterações, que é mais estável mesmo podendo ser mais lento. A recomendação de manter esta opção ativada indica que o novo método ainda não está completamente confiável.
A opção Crash App é uma ferramenta de debug que força o fechamento do aplicativo. Esta funcionalidade é útil para testar comportamentos de recuperação ou verificar se o aplicativo inicia corretamente após crashes.
3.6 Tela do Explorador de Arquivos {#tela-do-explorador-de-arquivos}
A sexta captura de tela apresenta o explorador de arquivos do PuppyGit com navegação pelo Internal Storage.
Barra Superior e Navegação
A barra superior exibe "Internal Storage" como título principal, com o subtítulo "Folder: 1, File: 0" indicando o conteúdo atual do diretório. Os ícones de ação à direita incluem busca (lupa), atualização (seta circular), criação (sinal de mais) e menu adicional (três pontos). O ícone de seta para esquerda permite retornar ao diretório anterior.
A barra de caminho exibe "> com.catpuppyap" indicando o diretório atual dentro da estrutura de armazenamento do aplicativo. A funcionalidade de breadcrumbs facilita navegação em estruturas de diretórios profundas.
Menu de Contexto de Arquivo
O menu de contexto sobreposto apresenta múltiplas opções para manipulação de arquivos e pastas. A opção Copy Full Path copia o caminho completo do arquivo ou pasta selecionada para a área de transferência, útil para integração com outros aplicativos ou documentação. Copy Repo Relative Path copia o caminho relativo ao repositório Git, essencial para operações Git que requerem caminhos dentro do contexto do repositório.
A opção Go To permite navegar diretamente para um caminho especificado, útil para acessos rápidos a diretórios conhecidos. View And Sort abre configurações de visualização e ordenação de arquivos, permitindo alternar entre ordenação por nome, data, tamanho ou tipo.
A opção Import permite importar arquivos externos para o diretório atual, enquanto as opções Dev: Export e Dev: SAF Diff são funcionalidades de desenvolvedor para exportação de dados e comparação usando Storage Access Framework.
3.7 Tela de Seleção de Armazenamento {#tela-de-seleção-de-armazenamento}
A sétima captura de tela apresenta o menu dropdown de seleção de storage.
Opções de Armazenamento Disponíveis
O menu apresenta múltiplos pontos de armazenamento que o PuppyGit pode acessar. Internal Storage com caminho "App://" refere-se ao armazenamento interno privado do aplicativo, o local mais seguro mas com espaço limitado. External Storage com caminho "Ext://" aponta para o armazenamento externo do dispositivo, tipicamente cartão SD ou partição de armazenamento externo.
App Data com caminho "AppData://" oferece acesso ao diretório de dados do aplicativo, onde configurações e informações de estado são armazenadas. As opções Dev: Inner Data e Dev: External Data fornecem acesso a diretórios de dados internos do Android em "/Android/data/com.catpuppyapp.puppygit.play.pro", úteis para debugging e desenvolvimento.
3.8 Tela de Serviço HTTP {#tela-de-serviço-http}
A oitava e nona capturas de tela apresentam a tela "Service" do PuppyGit.
Status e Configurações do Serviço
A seção Status exibe o estado atual do serviço como "Stopped" com um toggle para iniciar/parar o serviço HTTP. O serviço HTTP é o componente que permite integração com ferramentas de automação como Tasker, expondo APIs para controle remoto das funções do PuppyGit.
A seção Test exibe a URL do serviço em "http://127.0.0.1:52520" com um ícone de copiar para facilitar o teste de conectividade. A URL localhost indica que o serviço é acessível apenas localmente no dispositivo, garantindo segurança ao não expor endpoints na rede externa.
A seção App Info fornece link para as configurações de sistema do Android para o aplicativo, com instruções para habilitar "Allow Autostart" e "Disable Battery Optimization" — configurações essenciais para garantir que o serviço funcione corretamente em background.
Configurações de Host e Porta
As opções Host e Port exibem "127.0.0.1" e "52520" respectivamente, com notas "Require restart service" indicando que alterações nestas configurações exigem reinicialização do serviço para efeito. A porta 52520 é arbitrária e pode ser alterada conforme necessário, desde que não conflite com outras portas em uso no sistema.
A seção Tokens e ip Whitelist fornecem controles adicionais de segurança, permitindo gerenciar tokens de autenticação e lista de IPs permitidos para acesso ao serviço.
Configurações de Inicialização
O toggle Launch On App Startup está desativado (OFF), controlando se o serviço HTTP inicia automaticamente quando o aplicativo é aberto. O toggle Launch On System Startup está desativado (OFF), controlando se o serviço inicia automaticamente quando o dispositivo é ligado.
O toggle Progress Notification está ativado (ON), habilitando notificações de progresso para operações do serviço, úteis para monitoramento de sincronizações automáticas em background.
3.9 Tela de Automação {#tela-de-automação}
A décima captura de tela apresenta a tela "Automation" do PuppyGit.
Status e Configurações de Automação
A seção Status exibe o estado atual da automação como "Stopped", com um toggle para ativar/desativar o sistema de automação. Quando ativa, a automação monitora a execução de aplicativos selecionados e executa operações Git configuradas.
O toggle Progress Notification está ativado (ON), exibindo notificações quando operações de automação são executadas. O toggle Notification Auto Dismiss está desativado (OFF), indicando que notificações permanecem visíveis até serem dispensadas manualmente.
Intervalos de Sincronização
A opção Pull Interval exibe "0s", indicando o intervalo em segundos entre verificações automáticas de pull. O valor 0 significa que pull é executado imediatamente quando a condição de trigger é atendida, sem delay adicional. Valores maiores permitem implementar delays entre verificações para reduzir uso de recursos.
A opção Push Delay exibe "0s", especificando um delay em segundos após a execução de pull antes de executar push. Este delay pode ser útil para permitir que múltiplas alterações sejam consolidadas antes de um push, reduzindo o número de operações de rede.
Configurações de Lista de Aplicativos
A seção App List contém a descrição "Will auto pull/push linked repos when selected apps enter/exit", explicando a funcionalidade principal. O campo de busca "Input keyword" permite filtrar aplicativos instalados no dispositivo para selecionar quais devem triggers de automação.
Para cada aplicativo selecionado, o usuário pode configurar qual repositório Git deve ser sincronizado e quais operações (pull, push, ou ambas) devem ser executadas quando o aplicativo é aberto ou fechado. Esta configuração flexível permite criar fluxos de trabalho personalizados para diferentes casos de uso.
4. Guia de Configuração Passo a Passo {#guia-de-configuração-passo-a-passo}
4.1 Configuração Inicial do Aplicativo {#configuração-inicial-do-aplicativo}
Ao iniciar o PuppyGit pela primeira vez, o usuário deve realizar algumas configurações essenciais para garantir operação adequada e segurança. A primeira etapa envolve configurar o tema visual preferido, acessando Settings > Theme e selecionando entre Light, Dark ou Auto conforme a preferência pessoal. A seleção de Auto é recomendada para usuários que desejam que o aplicativo siga as configurações de tema do sistema Android.
A configuração de idioma segue o padrão do sistema por padrão, mas pode ser alterada em Settings > Language caso o usuário prefira um idioma diferente. É importante notar que mudanças de idioma requerem reinicialização do aplicativo para efeito, então esta configuração deve ser definida antes de começar a usar o aplicativo intensamente.
Para usuários que armazenam múltiplas credenciais ou utilizam o dispositivo em ambientes compartilhados, configurar uma Master Password em Settings > Master Password > Set Master Password é altamente recomendado. Esta senha será solicitada a cada inicialização do aplicativo, protegendo todas as credenciais armazenadas contra acesso não autorizado.
4.2 Configuração de Repositórios {#configuração-de-repositórios}
A configuração de novos repositórios no PuppyGit pode ser realizada de várias formas. Para克隆 um repositório existente, o usuário acessa a opção de adicionar novo repositório e insere a URL do repositório, seja via HTTPS ou SSH. Para conexões HTTPS, o usuário insere suas credenciais (nome de usuário e token de acesso pessoal para serviços como GitHub e GitLab com 2FA habilitado). Para conexões SSH, o usuário seleciona sua chave privada e insere a passphrase se aplicável.
O PuppyGit não suporta geração de chaves SSH, então usuários que necessitam criar novas chaves devem utilizar aplicativos externos como Ssh Key Man, também desenvolvido pela equipe catpuppyapp. Após configurar a conexão, o usuário seleciona o diretório de destino para o clone e aguarda a conclusão do download.
Para repositórios existentes no dispositivo, o usuário pode adicionar manualmente através da opção de import, pointing para o diretório raiz do repositório Git. O aplicativo detectará automaticamente a pasta .git e configurará o repositório para uso.
4.3 Configuração de Automação para Aplicativos de Notas {#configuração-de-automação-para-aplicativos-de-notas}
Um dos casos de uso mais populares do PuppyGit é a sincronização automática de vaults do Obsidian ou notas do Markor. Para configurar esta automação, o usuário acessa Settings > Automation e ativa o sistema de automação através do toggle de Status.
Na seção App List, o usuário toca no campo de busca e digita o nome do aplicativo desejado, como "Obsidian" ou "Markor". O aplicativo aparece na lista e deve ser selecionado. Após seleção, o usuário configura qual repositório Git deve ser sincronizado e especifica se deve executar pull quando o aplicativo é aberto, push quando fechado, ou ambos.
O Pull Interval e Push Delay podem ser ajustados conforme necessário. Valores maiores proporcionam mais tempo para consolidação de alterações mas aumentam o delay entre modificações e sincronização. Para uso típico com aplicativos de notas, os valores padrão de 0s são geralmente adequados.
4.4 Configuração de Integração com Tasker {#configuração-de-integração-com-tasker}
A integração com Tasker permite triggers automatizados baseados em qualquer condição suportada pelo Tasker. Para configurar, o usuário deve primeiro habilitar o serviço HTTP em Settings > Service, ativando o toggle de Status. A URL do serviço é exibida e pode ser copiada para uso no Tasker.
Os endpoints disponíveis incluem operações de pull, push e sync para repositórios específicos ou todos os repositórios configurados. A documentação completa da API HTTP está disponível no arquivo http_service_api.md do repositório do projeto.
No Tasker, o usuário cria uma tarefa que utiliza a ação HTTP Post ou Get para chamar os endpoints do PuppyGit. Por exemplo, uma tarefa pode executar pull em um repositório específico quando o dispositivo se conecta a uma rede WiFi específica, ou push quando o dispositivo entra em modo economia de bateria.
4.5 Configurações de Segurança para Ambientes Corporativos {#configurações-de-segurança-para-ambientes-corporativos}
Em ambientes corporativos ou quando trabalhando com repositórios sensíveis, algumas configurações adicionais de segurança devem ser consideradas. A Master Password deve ser habilitada conforme descrito anteriormente. O SSL Verify deve permanecer ativado exceto para conexões com servidores de desenvolvimento locais usando certificados auto-assinados.
Para conexões SSH, a configuração Allow Unknown Hosts deve permanecer desativada, exigindo confirmação explícita para novos servidores. Esta prática previne ataques de man-in-the-middle onde um servidor malicioso tenta se passar pelo servidor legítimo.
O uso de tokens de acesso pessoal em vez de senhas é recomendado para serviços como GitHub e GitLab, especialmente quando 2FA está habilitado. Tokens podem ser revogados individualmente sem afetar outras aplicações e fornecem controle mais granular sobre permissões.
5. Referência Completa de Configurações {#referência-completa-de-configurações}
5.1 Tabela de Configurações Gerais {#tabela-de-configurações-gerais}
| Configuração | Tipo | Padrão | Descrição |
|---|---|---|---|
| Theme | Dropdown | Auto | Controla aparência visual do aplicativo |
| Language | Dropdown | Auto | Idioma da interface do usuário |
| Log Level | Dropdown | Warn | Nível de detalhamento dos logs |
| Dynamic Color Scheme | Toggle | ON | Adapta cores ao tema do sistema |
| Dev Mode | Toggle | ON | Habilita funcionalidades de desenvolvedor |
| Go to Top/Bottom Buttons | Toggle | OFF | Adiciona botões de navegação rápida |
| TimeZone | Status | System | Fuso horário para timestamps |
| Commit Msg Template | Link | None | Template para mensagens de commit |
| Clean | Link | N/A | Limpa cache e dados temporários |
5.2 Tabela de Configurações do Editor {#tabela-de-configurações-do-editor}
| Configuração | Tipo | Padrão | Descrição |
|---|---|---|---|
| File Association | Link | N/A | Associa tipos de arquivo ao aplicativo |
| Syntax Highlighting | Toggle | ON | Habilita destaque de sintaxe |
| Use System Fonts | Toggle | OFF | Utiliza fontes do sistema Android |
| File Snapshot | Toggle+Path | OFF | Cria backup antes de salvar |
| Content Snapshot | Toggle+Path | OFF | Cria backup do conteúdo atual |
| Edit Cache | Toggle | OFF | Preserva input em cache |
5.3 Tabela de Configurações de Git e Diff {#tabela-de-configurações-de-git-e-diff}
| Configuração | Tipo | Padrão | Descrição |
|---|---|---|---|
| Diff Syntax Highlighting | Toggle | ON | Habilita destaque em diffs |
| Pull with Rebase | Toggle | OFF | Usa rebase em vez de merge |
| Degrade Match by words | Toggle | OFF | Ajusta algoritmo de matching |
| Show No/All Matched | Toggle | ON | Exibe indicadores de matching |
| Legacy ChangeList Load | Toggle | ON | Usa método tradicional de carregamento |
| Single Diff | Toggle | OFF | Otimiza performance de diff |
5.4 Tabela de Configurações de Segurança {#tabela-de-configurações-de-segurança}
| Configuração | Tipo | Padrão | Descrição |
|---|---|---|---|
| SSL Verify | Toggle | ON | Valida certificados HTTPS |
| Import SSL Certs | Link | N/A | Adiciona certificados personalizados |
| Master Password | Toggle | Disabled | Protege credenciais com senha |
| Allow Unknown Hosts | Toggle | OFF | Aceita hosts SSH desconhecidos |
| Forget Hostkeys | Link | N/A | Remove chaves SSH armazenadas |
5.5 Tabela de Configurações de Serviço HTTP {#tabela-de-configurações-de-serviço-http}
| Configuração | Tipo | Padrão | Descrição |
|---|---|---|---|
| Service Status | Toggle | Stopped | Controla serviço HTTP |
| Host | Input | 127.0.0.1 | Endereço do serviço |
| Port | Input | 52520 | Porta do serviço |
| Launch On App Startup | Toggle | OFF | Inicia com aplicativo |
| Launch On System Startup | Toggle | OFF | Inicia com sistema |
| Progress Notification | Toggle | ON | Mostra notificações |
| Tokens | Link | N/A | Gerencia tokens de acesso |
| IP Whitelist | Link | N/A | Controla acesso por IP |
5.6 Tabela de Configurações de Automação {#tabela-de-configurações-de-automação}
| Configuração | Tipo | Padrão | Descrição |
|---|---|---|---|
| Automation Status | Toggle | Stopped | Controla sistema de automação |
| Progress Notification | Toggle | ON | Mostra notificações de progresso |
| Notification Auto Dismiss | Toggle | OFF | Dispensar notificações automaticamente |
| Pull Interval | Input | 0s | Intervalo entre pulls |
| Push Delay | Input | 0s | Delay antes de push |
| App List | List | Empty | Aplicativos monitorados |
6. Bibliotecas e Tecnologias {#bibliotecas-e-tecnologias}
O PuppyGit é construído sobre um conjunto robusto de bibliotecas que garantem performance, segurança e funcionalidades avançadas. O núcleo de operações Git é fornecido pela libgit2 (versão 1.9.2), uma biblioteca C de código aberto amplamente utilizada que implementa todas as operações Git fundamentais com performance otimizada. Para conexões SSH, a biblioteca libssh2 (versão 1.11.1) fornece implementações de protocolos SSH2 seguros e eficientes.
A criptografia é fornecida por OpenSSL 3.6.1 através das bibliotecas libcrypto e libssl, garantindo suporte a todos os algoritmos criptográficos modernos necessários para conexões seguras. A integração Java/nativa é facilitada pela biblioteca libgit24j, baseada no projeto Git24j, que conecta as bibliotecas C ao ambiente Android/Java.
Para a interface do editor, o PuppyGit utiliza a biblioteca Sora Editor para syntax highlighting e edição de texto com recursos avançados. O componente de editor Compose é baseado no projeto text-editor-compose de kaleidot725, fornecendo uma interface de edição moderna e responsiva.
A distribuição do aplicativo está disponível através do GitHub Releases para instalação direta e do F-Droid para usuários que preferem stores alternativas de código aberto. O código fonte está disponível sob licença GPL-3.0, permitindo inspeção, modificação e redistribuição conforme os termos da licença.
7. Conclusão {#conclusão}
O PuppyGit representa uma solução completa e bem projetada para gerenciamento de Git em dispositivos Android, combinando funcionalidades avançadas de cliente desktop com a portabilidade e conveniência de dispositivos móveis. A análise detalhada das configurações disponíveis demonstra a profundidade de personalização oferecida, permitindo que usuários com diferentes necessidades e níveis de experiência adaptem o aplicativo ao seu fluxo de trabalho específico.
As funcionalidades de automação e integração com ferramentas como Tasker posicionam o PuppyGit como um componente central em fluxos de trabalho automatizados, particularmente para usuários de aplicativos de notas que necessitam sincronização contínua de seus arquivos versionados. O sistema de segurança com Master Password e configurações rigorosas de conexão SSH garante que credenciais e repositórios permaneçam protegidos em todos os cenários de uso.
O compromisso com código aberto demonstrado pela equipe catpuppyapp, evidenciado pelo número significativo de commits, releases frequentes e documentação abrangente, indica um projeto ativo e bem mantido que continuará evoluindo para atender às necessidades de sua comunidade de usuários.
author: MiniMax Agent title: "Guia: Adicionando Múltiplos Repositórios no PuppyGit"
Guia Completo: Adicionando Múltiplos Repositórios no PuppyGit
Autor: MiniMax Agent Data: 16 de abril de 2026 Nível: Para Iniciantes Completos
1. Introdução {#introdução}
Este guia foi criado especialmente para usuários que estão começando a utilizar o PuppyGit e desejam aprender como adicionar múltiplos repositórios Git ao aplicativo. O PuppyGit permite gerenciar tantos repositórios quantos você precisar, seja para projetos de trabalho, estudos ou documentos pessoais. Não há limite para a quantidade de repositórios que podem ser configurados.
Antes de prosseguir, é importante entender alguns conceitos básicos que serão utilizados neste guia. Um repositório Git é um diretório especial que contém todos os arquivos do seu projeto junto com um histórico completo de todas as modificações realizadas. Cada repositório pode estar conectado a um servidor remoto (como GitHub, GitLab ou Bitbucket) que funciona como backup e permite colaboração com outras pessoas. Quando você faz alterações localmente, precisa enviar essas alterações para o servidor remoto usando comandos como "push", e pode receber alterações de outros usando "pull".
2. Compreendendo a Tela de Clone {#compreendendo-a-tela-de-clone}
A tela que você está visualizando é chamada de "Clone" e é utilizada para adicionar novos repositórios ao PuppyGit. Vamos analisar cada campo e botão desta tela para que você entenda exatamente o que está configurando.
2.1 Seção de Informações do Repositório {#seção-de-informações-do-repositório}
Campo Git Url (http/https/ssh): Este é o campo mais importante de toda a tela. Aqui você deve inserir a URL completa do repositório que deseja adicionar. A URL pode começar com https:// para conexões via protocolo HTTPS, ou com ssh:// (ou git@) para conexões via SSH. Na imagem de exemplo, o campo contém "https://github.com/magisph/rv-adv", que é a URL de um repositório público do GitHub. Para encontrar a URL de um repositório, basta acessar o repositório no GitHub, GitLab ou outro serviço e copiar o link fornecido.
Campo Repo Name: Este campo define o nome que o repositório terá dentro do PuppyGit. O nome sugerido geralmente é preenchido automaticamente com base na URL, mas você pode alterá-lo para qualquer nome que seja mais significativo para você. Na imagem, o nome sugerido é "rv-adv", que corresponde ao nome do repositório no GitHub. Você pode usar espaços e caracteres especiais se desejar, mas é recomendado manter simples para facilitar a identificação.
2.2 Seção de Armazenamento e Configuração {#seção-de-armazenamento-e-configuração}
Dropdown Storage (Armazenamento): Este campo permite escolher onde os arquivos do repositório serão salvos no seu dispositivo. Na imagem, está selecionado "Internal Storage" com o caminho "App://", que significa o armazenamento interno do aplicativo PuppyGit. Toque no campo para ver as outras opções disponíveis. "External Storage" permite salvar no cartão SD ou armazenamento externo do dispositivo, útil se você precisa de mais espaço. Existe também a opção de armazenamento em nuvem, dependendo da configuração do seu dispositivo.
Botão Adicionar (+): O botão com símbolo de mais ao lado do campo de armazenamento permite adicionar localizações de armazenamento personalizadas. Você pode criar quantos pontos de armazenamento precisar, cada um apontando para uma pasta diferente no seu dispositivo. Por exemplo, você pode ter um ponto de armazenamento para projetos de trabalho e outro para projetos pessoais.
Campo Branch (Opcional): Este campo permite especificar qual branch (ramificação) do repositório você deseja baixar inicialmente. Se você deixar vazio, o PuppyGit baixará o branch padrão (geralmente chamado "main" ou "master"). Se quiser baixar um branch específico, como "develop" ou "feature-x", basta digitar o nome do branch aqui. Esta é uma opção opcional que você pode usar se não quiser todo o repositório por enquanto.
Checkbox Single Branch: Quando você marca esta opção, o PuppyGitirá baixar apenas o branch especificado no campo anterior, sem baixar o histórico completo de todos os outros branches. Isso é especialmente útil para repositórios grandes onde você só precisa de um branch específico, economizando tempo de download e espaço de armazenamento.
Campo Depth (Opcional): Este campo permite limitar a quantidade de histórico que será baixada. Se você inserir "1", por exemplo, o PuppyGitirá baixar apenas o commit mais recente. Valores maiores baixam mais histórico. Esta opção é chamada de "shallow clone" e é útil quando você precisa apenas do código atual sem precisar do histórico completo, economizando significativo espaço e tempo.
2.3 Seção de Credenciais {#seção-de-credenciais}
A seção de credenciais é fundamental para acessar repositórios que exigem autenticação, como repositórios privados ou quando você precisa fazer push de alterações.
Opção No Credential (Sem Credencial): Selecione esta opção se o repositório é público e você só precisa ler o código, sem intenção de fazer modificações ou push. Repositórios públicos do GitHub, GitLab e outros serviços geralmente não exigem autenticação para leitura. Se o repositório for privado, você não conseguirá acessá-lo com esta opção.
Opção New Credential (Nova Credencial): Selecione esta opção quando você precisa configurar novas credenciais de acesso. Ao selecionar, novos campos aparecerão logo abaixo para você inserir as informações. Esta é a opção mais comum para quem está adicionando seu primeiro repositório privado.
Opção Match Credential By Domain: Selecione esta opção se você já possui credenciais salvas para um domínio específico e quer reutilizá-las. Por exemplo, se você já configurou credenciais para github.com, pode usar a mesma credencial para múltiplos repositórios do GitHub. O PuppyGitirá automaticamente usar as credenciais corretas baseadas no domínio da URL.
2.4 Campos de Nova Credencial {#campos-de-nova-credencial}
Quando você seleciona "New Credential", os seguintes campos aparecem:
Campo Credential Name: Aqui você define um nome para identificar esta credencial. Use um nome descritivo que ajude a lembrar para que serve, como "GitHub Pessoal", "Trabalho - Cliente X" ou "GitLab da Empresa". Este nome será usado para identificar a credencial se você quiser reutilizá-la posteriormente.
Campo Username: Insira seu nome de usuário do serviço Git que você está acessando. Para GitHub, seria seu nome de usuário do GitHub. Para GitLab, seria seu nome de usuário do GitLab. Este campo pode também aceitar seu e-mail em alguns serviços.
Campo Password: Insira sua senha ou token de acesso. É extremamente importante entender que para serviços como GitHub e GitLab que utilizam autenticação de dois fatores (2FA), você NÃO deve usar sua senha comum. Em vez disso, deve criar um Personal Access Token. A senha também é ocultada por padrão por segurança, mas você pode tocar no ícone de olho para visualizá-la temporariamente.
3. Passo a Passo: Adicionando um Repositório Público (HTTPS) {#passo-a-passo-adicionando-um-repositório-público-https}
Vamos agora ao processo prático de adicionar um repositório. Começaremos com o cenário mais simples: adicionar um repositório público usando HTTPS.
3.1 Cenário {#cenário}
Você quer adicionar o repositório público do PuppyGit ao seu dispositivo para poder consultá-lo offline.
3.2 Passo 1: Acessar a Tela de Clone {#passo-1-acessar-a-tela-de-clone}
Abra o aplicativo PuppyGit e localize o botão para adicionar um novo repositório. Este botão geralmente está representado pelo símbolo de "+" ou pode estar no menu hamburger (três linhas horizontais). Toque nele e selecione a opção "Clone" ou "Adicionar Repositório".
3.3 Passo 2: Inserir a URL do Repositório {#passo-2-inserir-a-url-do-repositório}
No campo "Git Url (http/https/ssh)", cole a URL do repositório desejado. Para o PuppyGit, a URL seria: https://github.com/catpuppyapp/PuppyGit.git. Note que adicionamos ".git" no final da URL, embora muitos serviços aceitem sem. A URL deve começar com https:// para conexões seguras.
3.4 Passo 3: Verificar o Nome do Repositório {#passo-3-verificar-o-nome-do-repositório}
O campo "Repo Name" deve ser preenchido automaticamente com base na URL. Neste caso, deve aparecer "PuppyGit". Se quiser, você pode alterar para outro nome mais significativo, mas manter o nome original é recomendado para evitar confusão.
3.5 Passo 4: Escolher o Local de Armazenamento {#passo-4-escolher-o-local-de-armazenamento}
Verifique se o campo "Storage" está apontando para o local desejado. Para iniciantes, manter "Internal Storage" é a opção mais simples. Se você tiver um cartão SD com muito espaço e preferir armazenar lá, pode selecionar "External Storage".
3.6 Passo 5: Configurar Opções Adicionais (Opcional) {#passo-5-configurar-opções-adicionais-opcional}
Se você não precisar de branches específicos ou histórico completo, pode deixar os campos "Branch" e "Depth" vazios. Para um repositório de referência como este, baixar o repositório completo é geralmente a melhor escolha.
3.7 Passo 6: Selecionar Tipo de Credencial {#passo-6-selecionar-tipo-de-credencial}
Como este é um repositório público e você provavelmente só deseja ler o código, selecione a opção "No Credential". Se mais tarde quiser fazer push de alterações, poderá editar as credenciais.
3.8 Passo 7: Confirmar a Operação {#passo-7-confirmar-a-operação}
Toque no botão de confirmação (geralmente um ícone de "check" ou "OK") no canto superior direito da tela. O PuppyGitirá iniciar o download do repositório. Você verá uma barra de progresso indicando o andamento. Repositórios grandes podem levar alguns minutos, dependendo da velocidade da sua conexão.
3.9 Passo 8: Aguardar a Conclusão {#passo-8-aguardar-a-conclusão}
Após o download ser concluído, o repositório aparecerá na lista principal do PuppyGit. Você pode tocar nele para explorar os arquivos, visualizar commits, e realizar outras operações Git.
4. Passo a Passo: Adicionando um Repositório Privado (HTTPS com Token) {#passo-a-passo-adicionando-um-repositório-privado-https-com-token}
Agora vamos ao cenário mais comum para desenvolvedores: adicionar um repositório privado que requer autenticação.
4.1 Cenário {#cenário-1}
Você tem um repositório privado no GitHub que contém código de um projeto pessoal ou de trabalho, e deseja adicioná-lo ao PuppyGit para poder trabalhar nele a partir do seu dispositivo Android.
4.2 Passo 1: Obter um Personal Access Token {#passo-1-obter-um-personal-access-token}
Se o seu repositório está no GitHub e você tem autenticação de dois fatores habilitada (o que é altamente recomendado), você NÃO pode usar sua senha comum. Você precisa criar um Personal Access Token. Para isso:
Acesse github.com e faça login. Clique na sua foto de perfil no canto superior direito e selecione "Settings" (Configurações). No menu lateral esquerdo, clique em "Developer settings" (Configurações de desenvolvedor). Clique em "Personal access tokens" e depois em "Tokens (classic)". Clique em "Generate new token" e depois em "Generate new token (classic)". Dê um nome descritivo ao token, como "PuppyGit Android". Selecione o escopo "repo" para ter acesso completo a todos os seus repositórios privados. Role até o final e clique em "Generate token". IMPORTANTE: Copie o token imediatamente e guarde-o em um local seguro, pois ele só será mostrado uma vez.
Para GitLab, o processo é similar: acesse gitlab.com, vá em Preferences > Access Tokens, crie um token com escopo "read_repository" (para leitura) ou "api" (para leitura e escrita).
4.3 Passo 2: Acessar a Tela de Clone {#passo-2-acessar-a-tela-de-clone}
No PuppyGit, toque no botão para adicionar novo repositório e selecione "Clone".
4.4 Passo 3: Inserir a URL do Repositório {#passo-3-inserir-a-url-do-repositório}
Cole a URL do seu repositório privado no campo "Git Url". A URL deve começar com https:// e incluir o .git no final se aplicável.
4.5 Passo 4: Definir Nome e Local {#passo-4-definir-nome-e-local}
Preencha o campo "Repo Name" com um nome descritivo e verifique se o campo "Storage" está configurado adequadamente.
4.6 Passo 5: Selecionar Nova Credencial {#passo-5-selecionar-nova-credencial}
Na seção de credenciais, selecione a opção "New Credential" tocando no círculo ao lado dela.
4.7 Passo 6: Preencher as Credenciais {#passo-6-preencher-as-credenciais}
No campo "Credential Name", digite um nome que identifique esta credencial, como "GitHub Privado". No campo "Username", digite seu nome de usuário do GitHub. No campo "Password", cole o Personal Access Token que você gerou anteriormente (não sua senha).
4.8 Passo 7: Confirmar e Aguardar {#passo-7-confirmar-e-aguardar}
Toque no botão de confirmação e aguarde o download. Se tudo estiver correto, o repositório será clonado com sucesso e estará pronto para uso.
5. Passo a Passo: Adicionando um Repositório via SSH {#passo-a-passo-adicionando-um-repositório-via-ssh}
Para usuários mais avançados que preferem conexões SSH, aqui está o processo.
5.1 Cenário {#cenário-2}
Você possui uma chave SSH configurada em seu computador e quer usar a mesma para acessar repositórios via PuppyGit no Android.
5.2 Pré-requisitos {#pré-requisitos}
Antes de começar, você precisará ter uma chave SSH. Se você não tem uma, precisará criar uma usando um aplicativo específico no Android, como o "SSH Key Man" desenvolvido pela mesma equipe do PuppyGit. Este aplicativo separado está disponível na mesma página do PuppyGit no GitHub ou em stores de aplicativos.
5.3 Passo 1: Exportar ou Transferir sua Chave {#passo-1-exportar-ou-transferir-sua-chave}
Se você já tem uma chave SSH configurada no seu computador, você precisará transferi-la para o dispositivo Android. Você pode fazer isso enviando o arquivo de chave privada por e-mail, usando um serviço de armazenamento em nuvem, ou conectando o dispositivo ao computador. O arquivo de chave privada típico é chamado "id_rsa" (sem extensão) ou pode ter outros nomes dependendo de como foi configurado.
5.4 Passo 2: Configurar a Chave no PuppyGit {#passo-2-configurar-a-chave-no-puppygit}
Abra o PuppyGit e vá para Settings > SSH Keys ou similar (a localização exata pode variar conforme a versão). Toque na opção para adicionar uma nova chave SSH. Selecione o arquivo de chave privada que você transferiu. Se sua chave possui passphrase (uma senha adicional para protegê-la), você precisará inseri-la.
5.5 Passo 3: Adicionar a Chave ao GitHub/GitLab {#passo-3-adicionar-a-chave-ao-githubgitlab}
No seu computador, copie o conteúdo da sua chave pública (o arquivo .pub correspondente). No GitHub, vá em Settings > SSH and GPG keys > New SSH key e cole o conteúdo. No GitLab, vá em Preferences > SSH Keys e cole o conteúdo.
5.6 Passo 4: Clonar via SSH {#passo-4-clonar-via-ssh}
Na tela de Clone do PuppyGit, insira a URL SSH do repositório. A URL SSH do GitHub tem o formato: git@github.com:usuario/repositorio.git. Selecione a chave SSH que você configurou nas opções de credenciais e confirme o clone.
6. Gerenciando Múltiplos Repositórios {#gerenciando-múltiplos-repositórios}
O PuppyGit permite gerenciar múltiplos repositórios simultaneamente sem límite. Aqui estão algumas dicas para organizar melhor seus repositórios.
6.1 Organizando por Projeto {#organizando-por-projeto}
Cada repositório que você adiciona aparece na lista principal do aplicativo. Para repositórios relacionados, você pode usar nomes consistentes que facilitem a identificação. Por exemplo,前缀 como "Trabalho-", "Pessoal-" ou "Estudos-" podem ajudar a categorizar mentalmente.
6.2 Reutilizando Credenciais {#reutilizando-credenciais}
Quando você adiciona múltiplos repositórios do mesmo serviço (como vários repositórios do GitHub), use a opção "Match Credential By Domain" para reutilizar as credenciais já salvas. Isso evita ter que inserir usuário e token repetidamente e mantém suas credenciais organizadas.
6.3 Sincronização Automática {#sincronização-automática}
Se você adicionou vários repositórios e quer sincronizá-los periodicamente, explore as opções de automação do PuppyGit. Você pode configurar pull e push automáticos baseados em eventos ou intervalos de tempo.
6.4 Atualizando Credenciais {#atualizando-credenciais}
Se por algum motivo suas credenciais expiram ou precisam ser atualizadas, você pode editar qualquer repositório existente. Basta tocar no repositório, acessar suas configurações e atualizar as credenciais. Todas as alterações de credenciais são seguras e armazenadas de forma protegida.
6.5 Removendo Repositórios {#removendo-repositórios}
Para remover um repositório do PuppyGit, você geralmente pode acessar as configurações do repositório e selecionar "Delete" ou "Remove". IMPORTANTE: Esta opção geralmente remove apenas o repositório da lista do PuppyGit, não os arquivos do dispositivo. Se você quiser apagar completamente os arquivos, pode deletar a pasta manualmente através de um gerenciador de arquivos.
7. Solução de Problemas Comuns {#solução-de-problemas-comuns}
7.1 Erro de Autenticação {#erro-de-autenticação}
Se você recebe erro de autenticação ao tentar clonar, verifique se o token de acesso pessoal está correto e não expirou. Verifique também se o token tem as permissões necessárias (escopo "repo" para repositórios privados). Para usuários de GitHub com 2FA, senha comum não funciona.
7.2 Repositório Não Encontrado {#repositório-não-encontrado}
Se o clone falha com mensagem de "repositório não encontrado", verifique se a URL está correta. Repositórios privados não aparecem em buscas públicas, então você precisa ter acesso confirmado ao repositório.
7.3 Espaço Insuficiente {#espaço-insuficiente}
Se o download falha por falta de espaço, considere usar a opção "Single Branch" ou "Depth" para baixar apenas parte do histórico. Você também pode mover arquivos para um storage com mais espaço disponível.
7.4 Problemas de Conexão {#problemas-de-conexão}
Se você está em uma rede com restrições (como trabalho ou universidade), pode ser que portas usadas pelo Git estejam bloqueadas. Tente usar HTTPS em vez de SSH, ou conecte-se a uma rede diferente.
8. Resumo dos Campos {#resumo-dos-campos}
Para consulta rápida, aqui está um resumo de todos os campos da tela de Clone:
| Campo | O que inserir | Exemplo |
|---|---|---|
| Git Url | URL completa do repositório | https://github.com/usuario/projeto.git |
| Repo Name | Nome para identificar no app | Meu Projeto |
| Storage | Local de armazenamento | Internal Storage |
| Branch | Branch específico (opcional) | develop |
| Single Branch | Baixar só um branch | Marcar se necessário |
| Depth | Limite de histórico (opcional) | 1 (último commit) |
| Credential Name | Identificação da credencial | GitHub Pessoal |
| Username | Seu usuário do serviço | meuusuario |
| Password | Token de acesso (não senha) | ghp_xxxxxxxxxxxx |
Fim do Guia
Este documento faz parte do material educacional sobre PuppyGit. Para informações adicionais sobre configuração e funcionalidades avançadas, consulte o relatório principal de análise.