Savepoints e branches
Use savepoint, branch e merge para gerenciar o estado da branch do lado do Bubble a partir da CLI.
Savepoints
Savepoints são pontos de restauração do editor do Bubble para o workspace da branch atual. Crie um antes de um apply arriscado ou de uma grande refatoração.
buildprint savepoint create "before checkout refactor"
buildprint savepoint list
buildprint savepoint list --json
buildprint savepoint restore 1745068712345create requer uma descrição. list imprime o timestamp, a descrição e o e-mail quando disponíveis. restore restaura a branch atual do Bubble para o timestamp informado.
Após a restauração, execute:
buildprint syncA CLI lembra você de sincronizar porque o estado do editor do Bubble mudou remotamente e seus arquivos locais precisam ser atualizados para ficarem em conformidade.
Inspecionar branches
branch lê as versões do app Bubble. Execute-o dentro de um workspace de branch ou passe o id do app explicitamente.
buildprint branch
buildprint branch staging
buildprint branch <appId> staging
buildprint branch <appId> <branchId>
buildprint branch --jsonSem argumentos dentro de um workspace, branch mostra a branch atual. Com um argumento dentro de um workspace, ele trata o valor como um nome ou id de branch. Com dois argumentos, o primeiro é o id do app e o segundo é o seletor da branch.
Listar branches
buildprint branch list <appId>
buildprint branch list <appId> --jsonUse isso antes de clonar ou criar branches para saber os nomes e ids exatos que seu token pode acessar.
Criar branches
buildprint branch create "feature-checkout"
buildprint branch create <appId> "feature-checkout"
buildprint branch create <appId> new-flow --from staging
buildprint branch create "hotfix" --description "urgent fix" --json
buildprint branch create "experiment" --from test --no-workspace-syncDentro de um workspace de branch ou da raiz do app, você pode omitir o id do app e passar apenas o nome da nova branch. Fora de um workspace, passe o id do app primeiro.
Flags úteis:
--from <version>escolhe a branch de origem. O padrão étest.--description <text>adiciona uma descrição à branch do Bubble.--jsonimprime a resposta completa da API e pula a materialização do workspace local.--no-workspace-syncevita a criação ou sincronização de um workspace local após a criação da branch.
Os nomes das branches são normalizados pelo servidor, incluindo ajuste de espaços, conversão para letras minúsculas e conversão de espaços em hífens.
--from live não é permitido. Crie branches editáveis a partir de test, staging ou outra branch não-live que seu token possa ler.
Realizar o merge de branches do Bubble
merge usa o fluxo de merge nativo do Bubble para mesclar uma branch do Bubble em outra:
buildprint merge feature-a test
buildprint merge lemonb-820 staging
buildprint merge feature-a test --jsonO comando deve ser executado dentro de um workspace de app Buildprint para que ele possa resolver o id do app. Antes de um merge não-JSON, o Buildprint sincroniza os workspaces de revisão locais existentes para a origem e o destino quando possível.
Se o Bubble relatar conflitos, a CLI imprimirá as chaves de conflito. Resolva-as escolhendo o valor da branch de destino (to) ou o valor da branch de origem (from):
buildprint merge feature-a test --resolve 0=from
buildprint merge feature-a test --resolve 0=from --resolve 1=to
buildprint merge feature-a test --resolve-all toApós um merge bem-sucedido, o Buildprint sincroniza um workspace de destino local existente, quando disponível. Se você mantiver uma pasta de branch de destino aberta, inspecione-a após o merge e execute buildprint sync se precisar atualizar manualmente.
Falhas de permissão
Os comandos de branch e merge usam o token da CLI vinculado. Se uma branch de origem não estiver visível para esse token, o comando falhará com uma mensagem de permissão. Crie a partir de uma branch que o token possa ler ou atualize as permissões de colaborador do Bubble para o app.