Pular para o conteúdo

Salve seu projeto no GitHub

ResumindoConecte o GitHub com um clique pelo GitHub App do MonstarX (sem token, e você escolhe os repositórios) e depois clique em GitHub na barra superior de um projeto para criar um repositório novo ou vincular um existente. O MonstarX envia o projeto inteiro e depois commita cada mudança que faz, além de trazer o que você commitar no GitHub. Apps importados sincronizam com uma branch monstarx, então a sua branch nunca se mexe.

O GitHub é onde os desenvolvedores guardam código, com o histórico de cada mudança. Vincule um projeto do MonstarX a um repositório do GitHub (a pasta de um projeto no GitHub), e os dois ficam em sincronia, nos dois sentidos: o que o MonstarX cria é enviado para lá como commits, e o que você ou um desenvolvedor commitar lá volta para o MonstarX.

Isso é útil quando um desenvolvedor quer trabalhar no código no próprio editor, quando a sua empresa guarda todo o código no GitHub ou quando você publica a partir do GitHub, como faz o Railway, por exemplo.

Você conecta o GitHub uma única vez para toda a sua conta do MonstarX, em ConfiguraçõesIntegrações ou pelo botão GitHub de qualquer projeto. O jeito mais fácil é o GitHub App do MonstarX: não há token para criar nem colar, e você decide exatamente quais repositórios o MonstarX pode acessar.

  1. Clique em Conectar conta pessoal do GitHub.

  2. O GitHub abre e pergunta onde instalar o app. Escolha a sua conta pessoal (e não uma organização).

  3. Escolha quais repositórios o MonstarX pode usar: All repositories (todos) ou Only select repositories (só os selecionados), marcando os que você quiser. Você pode mudar isso depois no GitHub.

  4. Clique em Install e depois em Authorize quando o GitHub pedir confirmação.

  5. Você volta para o MonstarX. O cartão mostra Conectado · GitHub App.

Algumas coisas que é bom saber sobre o GitHub App:

  • Não precisa de aprovação de organização. Ele é instalado só na sua conta pessoal. Se você escolher uma organização por engano, o MonstarX pede que você instale na sua conta pessoal e tente de novo.
  • Os repositórios novos são criados na sua conta pessoal. O MonstarX sempre consegue acessar um repositório que ele mesmo criou, mesmo que você tenha escolhido Only select repositories.
  • O limite são os repositórios que você escolheu. Para vincular um repositório existente, ele precisa ser um dos que você liberou para o app. Acrescente outros nas configurações de apps instalados do GitHub.
  • O acesso é de curta duração e renovado automaticamente, e fica guardado criptografado. Ele nunca é enviado para o seu navegador.

Se preferir, há outros dois métodos:

MétodoQuando usar
Repositório pessoal com acesso limitado (em Configurações: Conectar um repositório pessoal com acesso limitado)Você quer que o MonstarX acesse exatamente um repositório com um token de acesso pessoal (uma senha que você cria no GitHub para um único fim). Crie um token fine-grained com a sua conta pessoal como proprietária do recurso, só esse repositório e Contents: read and write. Crie o repositório no GitHub antes; esse tipo de token não consegue criar repositórios novos.
Usar autorização do GitHubVocê quer enviar para repositórios de organizações das quais faz parte. A tela de login habitual do GitHub pode incluir acesso a essas organizações, então revise antes de permitir.

Depois de conectado, o cartão mostra a forma de conexão (GitHub App, Entrou com o GitHub ou Token de acesso pessoal) e lista todos os repositórios que o MonstarX mantém atualizados, com a data da última sincronização de cada um e se ela é Automático ou Manual. Conectar de outra forma depois substitui a conexão antiga; os repositórios vinculados continuam vinculados.

  1. Abra o projeto e clique em GitHub na barra superior. (Ele também fica em ConfiguraçõesExportar, nas configurações do projeto, em Manter no GitHub.)

  2. Se a sua conta ainda não estiver conectada, conecte ali mesmo.

  3. Escolha Novo repositório ou Repositório existente:

    • Novo repositório: escolha o Proprietário (você ou uma das suas organizações), digite o Nome do repositório, deixe Repositório privado marcado, a não ser que queira que todo mundo veja o código, e clique em Criar repositório e enviar.
    • Repositório existente: digite owner/repository ou cole o endereço dele no github.com, informe uma Branch se quiser (vazia, usa a branch padrão) e clique em Vincular e sincronizar. A sua conta precisa ter permissão para enviar para ele.
  4. O MonstarX envia o projeto inteiro como um repositório pronto para publicar. O botão GitHub ganha um ponto verde quando está sincronizado.

Um repositório novo começa com um commit, “Initial commit from MonstarX”. Em um repositório existente, o projeto é commitado por cima da branch, e os arquivos que o MonstarX não gerencia (uma LICENSE, workflows de CI, documentação) nunca são alterados.

Tudo o que a exportação entrega: o código do app, os arquivos de framework do MonstarX, a configuração para rodar e publicar o app, as migrações do banco de dados, uma lista com os nomes dos segredos de que o app precisa (nunca os valores) e um README.

Algumas coisas nunca vão para o GitHub:

  • Os valores dos segredos, as linhas do banco de dados do seu app e os arquivos enviados ficam com o MonstarX.
  • As linhas importadas de uma planilha nunca são enviadas, porque um repositório pode ser público e esses são os dados dos seus clientes.
  • Arquivos binários e arquivos com mais de 1 MB são ignorados e listados no registro da sincronização.

Enquanto Enviar cada alteração automaticamente estiver ativado (e ele vem ativado por padrão), o MonstarX sincroniza:

  • depois de cada solicitação que mudou os arquivos do app (a mensagem do commit é a sua solicitação);
  • depois de uma correção automática do QA;
  • depois que você restaura uma versão;
  • depois que você salva ou exclui um arquivo na aba Código.

Sincronizar agora, no menu GitHub, envia e recebe alterações quando você quiser. Desative o envio automático se preferir sincronizar manualmente.

O que acontece quando alguém edita o código no GitHub?

Seção intitulada “O que acontece quando alguém edita o código no GitHub?”

Faça commits no GitHub normalmente. Na próxima sincronização, o MonstarX traz as mudanças para o projeto:

  • As mudanças nos arquivos do próprio app (src/, public/, migrations/ e README.md) entram no MonstarX. A prévia é atualizada, as novas migrações do banco de dados rodam e uma versão chamada Do GitHub: seguida do título do commit aparece em Versões.
  • Um cartão no chat, como “3 arquivos recebidos do GitHub”, lista os arquivos, para que você e o agente do MonstarX saibam o que mudou.
  • As mudanças nos arquivos de framework do MonstarX, como package.json ou a configuração, ficam no GitHub até o próprio MonstarX mudar aquele arquivo de novo.
  • Se o mesmo arquivo mudou nos dois lados, o MonstarX mantém a versão dele, e o GitHub guarda a sua no histórico. O cartão marca o arquivo como “alterado nos dois lados — versão do MonstarX mantida”.
  • O repositório, a branch e se ele é Privado ou Público.
  • Quando foi a última sincronização (Sincronizado há alguns minutos) ou A última sincronização falhou, com o motivo.
  • Sincronizar agora e Abrir repositório.
  • Enviar cada alteração automaticamente.
  • Sincronizações recentes: as cinco últimas, cada uma com o seu commit.
  • Desvincular repositório: para a sincronização. O repositório continua no GitHub.
  • Desconectar: desconecta a sua conta do GitHub. Nada é enviado até você conectar de novo.

Quando você importa um app de um repositório para o qual pode enviar alterações, o projeto continua vinculado a ele, em uma branch nova chamada monstarx, criada a partir do commit que você importou. A sua branch nunca se mexe. Quando estiver satisfeito com as mudanças do MonstarX, Abrir um pull request, no menu GitHub, leva você ao GitHub para fazer o merge.

Preciso de um token do GitHub?

Não. Conectar conta pessoal do GitHub instala o GitHub App do MonstarX: você entra no GitHub, escolhe os repositórios e pronto. Um token de acesso pessoal é só uma alternativa para quem quer limitar o MonstarX a um único repositório dessa forma.

O GitHub App consegue acessar a organização da minha empresa?

Não. Ele é instalado só na sua conta pessoal e cria os repositórios novos lá. Para enviar para o repositório de uma organização, conecte com Usar autorização do GitHub ou peça à organização que adicione você, para poder vincular o repositório pela sua conta.

Como dou ao MonstarX acesso a outro repositório depois?

No GitHub, abra as configurações de GitHub Apps instalados, escolha o MonstarX e acrescente o repositório (ou mude para All repositories). Depois, vincule-o pelo menu GitHub do projeto.

Meu repositório é privado?

Um repositório novo é privado por padrão. Desmarque Repositório privado só se quiser o código público. O MonstarX nunca envia os valores dos segredos nem os dados do seu app.

Posso vincular um repositório da organização da minha empresa?

Pode, se a sua conta do GitHub tiver permissão para enviar para ele. Use Repositório existente ou escolha a organização como Proprietário ao criar um novo.

O que acontece se eu desvincular o repositório?

O MonstarX para de sincronizar. O repositório e todo o histórico continuam no GitHub, e você pode vinculá-lo de novo depois.

Um desenvolvedor mudou o package.json no GitHub. Por que a mudança não voltou?

Os arquivos de framework, como package.json e a configuração, são gerenciados pelo MonstarX. As edições neles ficam no GitHub até o MonstarX mudar aquele arquivo de novo; as sincronizações seguintes nunca desfazem essas edições sem avisar.

Posso publicar a partir do repositório?

Pode. O repositório está pronto para publicar, e o Railway publica a partir dele. Veja também Publique em outras hospedagens.

O que acontece com o vínculo se eu transferir o projeto?

Ele é removido, para que nada seja enviado à sua conta do GitHub em nome do novo proprietário. O repositório em si não é alterado.