Fluxo de Trabalho Git·

Usando o GitHub Desktop para simplificar as atualizações do FiveM e identificar cada mudança

Um guia sem linha de comando para proprietários de servidores FiveM: use o GitHub Desktop para ver exatamente o que mudou em uma atualização, mantenha suas próprias edições de configuração e faça o rollback instantaneamente quando algo quebrar.

Introdução

Todo proprietário de servidor conhece essa sensação. Uma nova versão de um recurso é lançada, o changelog diz "substitua a pasta /config/framework", e você congela — porque passou horas ajustando esses arquivos e não tem ideia do que a atualização realmente alterou. Você sobrescreve e perde seu trabalho? Pula a pasta e corre o risco de quebrar o script? Copia linhas de um lado para o outro manualmente e torce para não ter esquecido nada?

Existe uma maneira muito melhor — e você não precisa tocar em um único comando. Com um aplicativo gratuito chamado GitHub Desktop, você pode ver exatamente o que mudou em qualquer atualização, manter suas próprias customizações seguras, e fazer o rollback em segundos, tudo através de uma interface simples de clicar e selecionar.

O que é Git e o que é o GitHub Desktop?

Git é um sistema de controle de versão — pense nisso como um histórico de desfazer ilimitado e perfeito para uma pasta. Cada vez que você salva um snapshot (chamado de commit), ele registra o estado exato de cada arquivo. Mais tarde, você pode comparar quaisquer dois snapshots linha por linha, restaurar um estado anterior ou mesclar alterações.

GitHub Desktop é um aplicativo visual gratuito que coloca o Git por trás de botões amigáveis. Sem terminal preto, sem comandos para memorizar — apenas uma janela clara que mostra o que mudou e permite que você faça commit, desfaça e mescle com um clique.

Para um servidor FiveM, a pasta que você rastreia é o seu diretório resources (ou um único script dentro dele). O Git transforma "Acho que mudei algo aqui algumas semanas atrás" em "mostre-me precisamente o que mudou entre o mês passado e hoje."

O GitHub Desktop funciona completamente localmente. Você não precisa fazer upload de nada para a internet — cada recurso neste guia funciona offline em sua própria máquina ou VPS. Prefere um aplicativo diferente? Sourcetree, GitKraken, Fork, e o painel de Controle de Origem integrado no VS Code fazem todos o mesmo trabalho; os conceitos abaixo se aplicam diretamente.

Por que isso é perfeito para atualizações de recursos

Atualizar um script da maneira tradicional significa trabalhar no escuro. O Git oferece três superpoderes:

  1. Detecção de mudanças — após inserir uma nova versão, o GitHub Desktop destaca cada arquivo alterado e cada linha alterada. O changelog diz a você quais pastas substituir; o Git mostra o que realmente mudou para que você possa confiar.
  2. Customização segura — suas edições vivem em commits. Quando uma atualização de um fornecedor toca o mesmo arquivo, o Git pode mesclar os dois conjuntos de mudanças, mantendo as suas e as deles.
  3. Rollback instantâneo — se uma atualização quebrar seu servidor, você está a um clique de distância do estado exato que tinha cinco minutos atrás. Sem o pânico de "onde eu coloquei aquele backup".
Isso combina perfeitamente com recursos protegidos por escrow como Sky-Systems. A pasta criptografada source/ nunca muda do seu lado, enquanto tudo o que você realmente edita fica na pasta em texto puro config/. O Git rastreia config/ perfeitamente — que é exatamente onde suas customizações e as atualizações do fornecedor colidem.

Configuração Única com GitHub Desktop

Você só faz isso uma vez por servidor.

Instalar GitHub Desktop

Baixe e instale em desktop.github.com. Você pode pular ou fechar o aviso de login — uma conta online só é necessária se você quiser fazer backup no GitHub, o que este guia não exige.

Adicionar Sua Pasta de Recursos

Na barra de menu, clique em File → Add local repository (Arquivo → Adicionar repositório local), depois em Choose… (Escolher…) e selecione sua pasta resources.

O GitHub Desktop notará que ainda não é rastreado e mostrará: "This directory does not appear to be a Git repository." (Este diretório não parece ser um repositório Git.) Clique no link "create a repository" (criar um repositório) que ele oferece. Na próxima tela, mantenha os padrões e clique em Create repository (Criar repositório).

Proteja Seus Segredos

Um FiveM servidor contém dados sensíveis que nunca devem ser salvos no seu histórico. No GitHub Desktop, abra Repository → Repository settings → Ignored files (Repositório → Configurações do repositório → Arquivos ignorados) e adicione regras como estas:

# Never track secrets
**/*.env
**/secrets.lua
server.cfg

# Caches, logs, build output
**/cache/
**/logs/
**/.DS_Store

Você também pode clicar com o botão direito em qualquer arquivo na lista Changes (Alterações) e escolher Ignore file (Ignorar arquivo) (ou Ignorar todos os arquivos deste tipo) — o GitHub Desktop adiciona ao .gitignore para você.

Nunca faça commit de credenciais. Senhas de banco de dados, seu sv_licenseKey, segredos do Tebex, tokens do Discord e URLs de webhook devem ficar fora do Git. Adicione-os à lista de ignore antes de seu primeiro commit — uma vez que algo entra em um commit, permanece no histórico.

Tire Seu Primeiro Snapshot

Mude para a aba Changes (barra lateral esquerda). Todos os arquivos aparecem na lista. Na caixa Summary no canto inferior esquerdo, digite algo como Baseline: working server before updates, então clique em Commit to main.

Pronto. Agora você tem uma rede de segurança sob todo o seu servidor.

Não publique seus recursos pagos. Se o GitHub Desktop oferecer um botão azul "Publish repository", não o utilize para qualquer script licenciado ou protegido por escrow. Fazer o upload desses arquivos para um repositório público viola a licença e expõe conteúdo pago. Mantenha o repositório apenas local.

O Fluxo de Trabalho de Atualização

Esta é a rotina que você repete para cada atualização. Leva cerca de um minuto.

Faça o Commit do Seu Estado Atual

Abra o GitHub Desktop e verifique a aba Changes. Se algo estiver listado, faça o commit primeiro com um resumo como Pre-update snapshot, para que a atualização se destaque claramente. Se a lista estiver vazia, você está pronto.

Insira a Nova Versão

Pare seu servidor, então extraia o novo lançamento do recurso por cima dos arquivos antigos, substituindo-os — exatamente como as instruções do changelog (por exemplo, "substitua a pasta /config/framework"). Não se preocupe em perder nada; seu estado anterior está salvo no commit.

Veja Exatamente O Que Mudou

Retorne ao GitHub Desktop e abra a aba Changes. Este é o momento mágico: cada arquivo que a atualização alterou é listado, e clicar em um mostra suas alterações linha por linha — linhas removidas em vermelho, linhas adicionadas em verde.

Agora você pode ler precisamente o que a atualização fez — novas opções de configuração, padrões alterados, chaves renomeadas — em vez de apenas adivinhar.

Dê uma olhada na lista de arquivos e compare-a com o changelog. Se o changelog diz que apenas config/framework e config/banking mudaram, essas devem ser as pastas que você vê aqui. Qualquer coisa inesperada merece uma análise mais detalhada antes de você fazer o commit.

Reconcilie Suas Customizações

Se a atualização sobrescreveu um arquivo que você havia personalizado, o diff mostrará suas configurações em vermelho (removidas) e os padrões do fornecedor em verde (adicionadas). Abra esse arquivo em seu editor, reaplique seus valores — o diff mostra exatamente quais linhas — e salve. O GitHub Desktop atualiza a comparação em tempo real enquanto você digita.

Para uma reconciliação totalmente automática, veja a Dica Pro abaixo.

Fazer Commit da Atualização

Assim que tudo parecer correto e seu servidor iniciar sem erros, volte para a aba Changes, insira um resumo como Update sky_base to 1.21.0 e clique em Commit to main.

Agora você tem um checkpoint rotulado para o qual sempre pode retornar.


Revertendo Quando Algo Quebra

Uma atualização apresentou comportamento inesperado? Mantenha a calma — o GitHub Desktop oferece várias opções, desde as mais suaves até as mais drásticas.

Desfazer alterações não commitadas. Na aba Changes, selecione os arquivos (ou todos eles), clique com o botão direito e escolha Discard Changes / Discard All Changes. Isso os restaurará ao seu último commit.

Volte para um snapshot anterior. Abra a aba History (Histórico) na barra lateral esquerda para ver todos os snapshots que você criou:

  • Para desfazer com segurança uma atualização mantendo um registro limpo, clique com o botão direito no commit incorreto e escolha Revert Changes in Commit (Reverter Alterações no Commit). Isso cria um novo commit de "desfazer" — nada é perdido.
  • Para retroceder completamente para um estado anterior, clique com o botão direito no snapshot que você deseja e escolha Reset to commit (Resetar para o commit).
Reset to commit (Resetar para o commit) retrocede seu projeto para aquele snapshot. Faça commit ou stash de qualquer coisa que você ainda queira manter primeiro. Na dúvida, prefira Revert Changes in Commit (Reverter Alterações no Commit) — é a opção não destrutiva.

Arquive temporariamente suas alterações — útil para testar uma atualização com uma base limpa e depois trazer seu trabalho de volta. Clique com o botão direito no cabeçalho Changed files (Arquivos alterados) e escolha Stash All Changes. Para recuperá-los, selecione Stashed Changes na barra lateral e clique em Restore.

O GitHub Desktop mantém um stash por vez — arquivar novamente substitui o anterior. Use para desvios curtos e temporários, e use commits para qualquer coisa que você queira manter.

Dica Pro: Mesclagem Automática de Atualizações de Fornecedores

Cansado de reaplicar suas edições de configuração manualmente após cada atualização? O GitHub Desktop pode fazer isso por você usando uma mesclagem de três vias.

A ideia: mantenha um branch com lançamentos de fornecedores originais e outro com suas edições por cima.

Criar um Branch de Fornecedor

Clique no menu suspenso Branch Atual no topo, depois em Novo Branch, e nomeie-o como vendor. Este branch conterá apenas arquivos de fornecedores intocados.

Registre Cada Lançamento no Branch do Fornecedor

Quando uma nova versão for lançada, mude para o branch vendor (menu suspenso Current Branch), extraia os arquivos de lançamento sem modificações por cima e, em seguida, faça o commit com um resumo como Vendor sky_base 1.21.0.

Mescle a Atualização em Suas Edições

Mude de volta para o seu branch main (menu suspenso Current Branch). Então abra Branch → Merge into current branch…, selecione vendor e clique em merge.

O GitHub Desktop combina automaticamente as alterações do fornecedor com suas customizações. Ele só faz uma pausa para perguntar quando uma atualização altera as mesmas linhas exatas que você customizou — e mostra uma tela clara para resolver esses poucos pontos. Em todos os outros lugares, ambos os conjuntos de alterações são mantidos para você.

Esta é a mesma técnica que equipes profissionais usam para rastrear bibliotecas upstream sem perder alterações locais — e funciona tão bem para o seu servidor.


Prefere a Linha de Comando?

Se você se sente confortável no terminal, todo o fluxo de trabalho acima corresponde a alguns comandos:

# One-time setup (run inside your resources folder)
git init
git add .
git commit -m "Baseline: working server before updates"

# Each update
git add . && git commit -m "Pre-update snapshot"   # snapshot first
# ...drop in the new release, overwriting files...
git status            # which files changed
git diff --stat       # a compact per-file summary
git diff              # full line-by-line changes
git add . && git commit -m "Update sky_base to 1.21.0"

# Rolling back
git restore <file>    # undo changes to one file
git restore .         # undo all uncommitted changes
git log --oneline     # find a snapshot
git reset --hard <id> # rewind to it (destructive)
git stash / git stash pop   # shelve and restore temporarily

Melhores Práticas

  • Faça o commit antes de cada atualização. Um snapshot leva dois segundos e economiza horas.
  • Escreva resumos claros. Update sky_base to 1.21.0 supera stuff quando você estiver analisando o histórico seis meses depois.
  • Mantenha segredos ignorados. Credenciais nunca devem estar no histórico de versões.
  • Faça o commit depois de um boot limpo, não antes. Rotule um snapshot como "bom" apenas quando o servidor realmente estiver rodando.
  • Rastreie sua pasta resources inteira em um único repositório. Dessa forma, um único rollback pode recuperar de uma atualização ruim de qualquer script.
  • Mantenha local. Nunca publique recursos licenciados ou protegidos por escrow em um repositório público.

Conclusão

Atualizar um servidor FiveM não precisa mais significar adivinhação, perda de customizações e busca frenética por backups. Com uma configuração única no GitHub Desktop e uma rotina de um minuto, você pode ver cada mudança que uma atualização faz, manter suas próprias edições intactas, e desfazer qualquer erro instantaneamente — tudo sem digitar um único comando.

Na próxima vez que um changelog disser para você substituir uma pasta, você fará isso com confiança — porque o GitHub Desktop mostrará exatamente o que mudou, todas as vezes.