Git AutoSync

O Git AutoSync faz commit e push dos seus repositórios sozinho, nos horários que você escolher. É uma ferramenta à parte, com licença e repositório próprios; o HUB SNK instala, configura e mostra o que ela fez. Só existe no Windows: em outro sistema, a aba e a seção do cliente não aparecem.

Aba Git AutoSync

A aba tem cinco seções: Estado, Quando roda, Mensagem do commit, Repositórios e o log. No cabeçalho ficam a hora da última leitura, o botão de informação (Sobre), o de atualizar e a engrenagem do token do GitLab. O HUB SNK nunca edita os arquivos do Git AutoSync: toda mudança feita aqui é um comando dele.

Passo a passo

  1. No topo do Painel, clique em Git AutoSync.
    Topo do Painel com a aba Git AutoSync destacada
  2. O cabeçalho diz Atualizado às e a hora; as setas circulares (Atualizar) leem tudo de novo.
    Aba Git AutoSync com a hora da leitura e o botão Atualizar destacados
  3. O botão de informação (Sobre o Git AutoSync) explica o que é a ferramenta. Abrir o repositório leva à página dela no GitHub.
    Janela Sobre o Git AutoSync com o botão Abrir o repositório destacado

Configurações que dependem ou alteram

Depende de

Instalar o Git AutoSync

Sem o Git AutoSync, a aba mostra as mesmas seções, acinzentadas e sem clique, e o botão Instalar o Git AutoSync. A instalação baixa a versão mais recente da página de releases do Git AutoSync no GitHub e instala em %USERPROFILE%\.git-autosync. O Git precisa estar instalado antes.

Passo a passo

  1. Na aba Git AutoSync, clique em Instalar o Git AutoSync.
    Aba Git AutoSync sem a ferramenta, com o botão Instalar o Git AutoSync destacado
  2. Se o Git não for encontrado, a janela O Git não está instalado manda baixá-lo em git-scm.com. Instale e clique em Verificar de novo. Se o Git já estava instalado e não foi achado, reinicie o HUB SNK.
    Janela O Git não está instalado com o botão Verificar de novo destacado
  3. Na janela Instalar o Git AutoSync, escolha o Horário da rodada automática (vem 17:30) e marque o que quiser: Ícone na bandeja ao entrar no Windows, Atalhos na área de trabalho e no menu Iniciar (vem marcado), Skill para Claude Code e Codex e Adicionar ao PATH do usuário.
    Janela Instalar o Git AutoSync com as opções destacadas
  4. Clique em Instalar. O aviso Git AutoSync instalado. confirma e a aba passa a funcionar.
    Aba Git AutoSync instalada, com o aviso Git AutoSync instalado

Instalado pelo HUB SNK, o Git AutoSync pode sair junto quando você desinstalar o HUB SNK. Instalado por fora, ele nunca é removido.

Configurações que dependem ou alteram

Nenhuma.

Depende de

  • Git instalado na máquina e acesso ao GitHub para baixar a versão.

Estado e ícone na bandeja

A seção Estado mostra a versão instalada, a Última rodada geral e cada tarefa do Agendador do Windows, com a próxima execução e o último resultado. Horário configurado sem tarefa aparece em vermelho como Horário configurado, tarefa não instalada, com o botão Criar tarefa. Ali também se decide se o ícone do Git AutoSync abre junto com o login.

Passo a passo

  1. Confira a versão, a última rodada e a tarefa agendada na seção Estado.
    Seção Estado destacada
  2. Clique em Ligar bandeja e confirme em Ligar. Se já houver um ícone do Git AutoSync aberto, ele abre outro: feche o antigo.
    Janela Ligar a bandeja com o botão Ligar destacado
  3. O botão vira Desligar bandeja, que desliga sem perguntar.
    Botão Desligar bandeja destacado depois de ligar

Configurações que dependem ou alteram

Nenhuma.

Depende de

Horários e agendamento

A rodada automática roda de 1 a 6 vezes por dia, nos mesmos horários todo dia. Salvar os horários reinstala a tarefa do Agendador junto. Desativar agendamento tira a tarefa do Agendador e a bandeja do login, mas mantém os horários e os repositórios; Ativar agendamento põe a tarefa de volta.

Passo a passo

  1. Na seção Quando roda, escolha a hora no campo e clique em Incluir. O ✕ de cada horário o tira da lista.
    Horários 12:30 e 17:30 na edição destacada
  2. Clique em Salvar horários, que só se habilita com mudança e ao menos um horário. A próxima execução da tarefa já reflete os horários novos.
    Horários salvos, com a próxima execução da tarefa atualizada
  3. Para parar a rodada automática, clique em Desativar agendamento e confirme em Desativar.
    Janela Desativar o agendamento com o botão Desativar destacado

Configurações que dependem ou alteram

Nenhuma.

Depende de

Rodar agora

Faz na hora o que a rodada automática faria: commit e push em todos os repositórios ativos, com a mensagem que o Git AutoSync escrever. Pode levar alguns minutos.

Passo a passo

  1. Na seção Quando roda, clique em Rodar agora e confirme em Rodar agora.
    Janela Rodar agora com o botão de confirmação destacado
  2. Ao terminar, um aviso traz o resultado, e a lista de repositórios mostra o último resultado de cada um.
    Aviso de conclusão da rodada

Configurações que dependem ou alteram

Nenhuma.

Depende de

Mensagem do commit com IA

Desligada, o commit sai com a mensagem fixa chore: auto-commit AAAA-MM-DD HH:MM e nada sai da máquina. Ligada, o diff das alterações vai para o agente escolhido, que escreve a mensagem: Automático (o primeiro instalado), Claude, Codex ou OpenCode. Se o agente falhar, vale a mensagem fixa.

Passo a passo

  1. Na seção Mensagem do commit, marque Escrever a mensagem com IA e confirme em Ligar.
    Janela Escrever a mensagem com IA com o botão Ligar destacado
  2. Escolha o agente na lista ao lado. Desmarcar a caixa desliga sem perguntar.
    Lista de agentes de IA destacada

Se o Git AutoSync tiver um agente fixado só para a rodada agendada, a seção avisa qual. O agente precisa estar instalado na máquina.

Configurações que dependem ou alteram

Nenhuma.

Depende de

Repositórios e pastas-raiz

A seção Repositórios lista o que o Git AutoSync acompanha. Cada linha diz de onde o repositório vem (Ativo, Desligado, Ativo pela pasta ou Excluído da pasta), de que cliente é e o último resultado, com a hora do último push ao passar o mouse. Uma pasta-raiz cobre todas as subpastas diretas que são repositório, inclusive as clonadas depois.

Passo a passo

  1. Adicionar todos os repositórios dos clientes põe, um a um, os repositórios de clientes com pasta local que estão fora; um aviso resume quantos entraram. Quando 3 ou mais desses repositórios estão na mesma pasta, aparece a sugestão de cadastrá-la como pasta-raiz, com Cadastrar a pasta.
    Botão Adicionar todos os repositórios dos clientes e a sugestão Cadastrar a pasta destacados
  2. A linha da pasta-raiz diz quantos repositórios ela cobre e quantos estão ativos. Tirar a pasta tira todos da rodada automática, depois de confirmar; os repositórios e o histórico ficam.
    Linha da pasta-raiz com o botão Tirar a pasta destacado
  3. Em cada repositório, os botões de baixo abrem o histórico e a política. Desativar tira o repositório da rodada automática; Ativar põe de volta.
    Selos e botões de um repositório destacados

Pasta-raiz pega também repositório que você não queria sincronizar: desative esse, e ele fica como Excluído da pasta. O Git AutoSync commita tudo o que não está no .gitignore; revise a política de cada repositório que entrar.

Configurações que dependem ou alteram

Nenhuma.

Depende de

Commit, push e sincronizar

Quatro botões em cada repositório, na aba Git AutoSync e na aba Git do cliente. Commit grava as alterações fora do .gitignore, sem enviar. Push envia o que já foi commitado. Sincronizar faz os dois. O Git AutoSync recusa o commit inteiro com arquivo sensível, arquivo acima do tamanho máximo, segredo no conteúdo, branch fora da política, HEAD destacado, operação pela metade ou conflito.

Passo a passo

  1. Na linha do repositório, clique em Commit, Push ou Sincronizar. Enquanto a ação roda, a linha diz o que está em andamento.
    Botões Commit, Push, Sincronizar e Merge Request destacados
  2. No Commit, escreva a Mensagem do commit ou deixe em branco para o Git AutoSync escrever. Gerar prévia mostra a mensagem que ele usaria, sem gravar nada; sem alteração, avisa que não há o que commitar.
    Janela Commit com a prévia da mensagem
  3. Clique em Commit. Um aviso traz o resultado e o selo do último resultado é atualizado.
    Último resultado commit feito, push pendente, com o aviso de conclusão
  4. O Sincronizar abre a mesma janela e faz commit e push. O Push não tem janela: envia direto.
    Janela Sincronizar

Configurações que dependem ou alteram

Nenhuma.

Depende de

Merge Request no GitLab

Cria o Merge Request do repositório no GitLab. Só funciona com GitLab, e o host e o token ficam na engrenagem da aba Git AutoSync, gravados nas variáveis de ambiente do seu usuário do Windows, não no arquivo de dados do HUB SNK.

Passo a passo

  1. Na linha do repositório, clique em Merge Request. Todos os campos são opcionais: em branco, o Título vira origem → destino, a Branch de destino é a padrão do Git AutoSync e a Branch de origem é a atual. Clique em Criar Merge Request.
    Janela Merge Request preenchida
  2. Para informar o token, clique na engrenagem do cabeçalho (Configurações do Git AutoSync).
    Engrenagem Configurações do Git AutoSync destacada
  3. Preencha o Host do GitLab, sem protocolo, e o Token, um Personal Access Token com escopo api. Clique em Salvar. O token gravado nunca volta à tela: deixe o campo em branco para manter o atual, ou use Remover token.
    Janela Configurações do Git AutoSync com o host e o token do GitLab

O host precisa ser o mesmo do remoto do repositório. A bandeja do Git AutoSync já aberta só enxerga o token novo depois de reaberta.

Configurações que dependem ou alteram

Depende de

Histórico de commits

Mostra os últimos 20 commits do repositório, com o hash curto, a data e a mensagem.

Passo a passo

  1. Na linha do repositório, clique no botão de documento (Histórico de commits). Fechar fecha a janela.
    Janela Histórico de commits com a lista destacada

Configurações que dependem ou alteram

Nenhuma.

Depende de

Política do repositório

Regras de cada repositório: Só estes arquivos (arquivo fora da lista bloqueia o commit inteiro, não é ignorado), Arquivos proibidos, Branches permitidas, Tamanho máximo por arquivo, em bytes (padrão de 5 MB) e Mensagem por IA (igual à configuração geral, ligada ou desligada neste repositório). As listas levam um padrão por linha.

Passo a passo

  1. Na linha do repositório, clique na engrenagem (Política do repositório), ajuste os campos e clique em Salvar. O aviso Política gravada. confirma.
    Janela Política do repositório com os campos destacados

Só o que mudou é gravado. O Git AutoSync ainda não permite esvaziar uma lista já gravada: deixe ao menos um padrão.

Configurações que dependem ou alteram

Nenhuma.

Depende de

Como resolver uma falha

Quando uma ação falha, a linha do repositório ganha o bloco Como resolver: a explicação e os comandos que resolvem, para copiar. O HUB SNK reconhece push rejeitado, branch sem upstream, remoto à frente, falta do token do GitLab, remoto inacessível, credencial recusada, HEAD destacado, operação ou conflito pendente, branch ou arquivo fora da política e branch sem remoto de push. Nada é executado pela tela: quem roda os comandos é você, no terminal.

Passo a passo

  1. Leia a explicação e use Copiar comando em cada comando, na ordem. Abrir terminal na pasta abre o terminal já no repositório. Conforme o erro, aparecem também Configurar o GitLab e Política do repositório.
    Bloco Como resolver de um push rejeitado destacado
  2. Em Saída completa do Git AutoSync está o texto original do erro. Resolvido, clique em Dispensar; a próxima ação que der certo também tira o bloco.
    Saída completa do Git AutoSync aberta e o botão Dispensar destacados

Erro que o HUB SNK não reconhece mostra só a saída completa, para você resolver pelo terminal. O texto da sugestão de falta do token cita “Configurações › Git”; o lugar certo é a engrenagem da aba Git AutoSync, para onde o botão Configurar o GitLab já leva.

Configurações que dependem ou alteram

Depende de

Log do AutoSync

As últimas 200 linhas do log do Git AutoSync, com o que cada rodada fez em cada repositório. O log é lido ao abrir o grupo.

Passo a passo

  1. No fim da aba, clique em Log do Git AutoSync (últimas 200 linhas). Atualizar o log lê de novo.
    Grupo Log do Git AutoSync aberto com as linhas destacado

Configurações que dependem ou alteram

Nenhuma.

Depende de

AutoSync na aba Git do cliente

No fim da aba Git do cliente, a seção AutoSync lista os repositórios dele com pasta local e onde cada um está: Fora do Git AutoSync, No Git AutoSync (ou pela pasta-raiz), Excluído da pasta, Desligado no Git AutoSync, A pasta não existe ou A pasta não é um repositório Git. Cadastrar ou excluir o repositório no cliente não mexe no Git AutoSync: entrar e sair é sempre por aqui ou pela aba Git AutoSync.

Passo a passo

  1. Na aba Git do cliente, desça até AutoSync e clique em Adicionar ao Git AutoSync. Repositório excluído ou desligado mostra Reativar no Git AutoSync.
    Seção AutoSync do cliente com o botão Adicionar ao Git AutoSync destacado
  2. O selo passa a No Git AutoSync e o botão vira Tirar do Git AutoSync. As setas da seção (Atualizar o Git AutoSync) leem de novo.
    Selo No Git AutoSync destacado depois de adicionar

Sem o Git AutoSync instalado, a seção avisa e manda instalar pela aba Git AutoSync.

Configurações que dependem ou alteram

Depende de