top of page

Git - O backup feito direito


Não é surpresa pra ninguém que trabalhar em um projeto demanda muito esforço e tempo, dedicamos nossas preciosas horas para fazer nosso melhor e prover uma experiência legal para o jogador.


No entanto, é comum ouvirmos relatos de pessoas que tiveram seus projetos perdidos, por conta de falha no HD, computador estragou, cachorro comeu ou (insira qualquer outro possível problema).


Para quem trabalha com desenvolvimento de software como eu, usar o git não é nenhuma surpresa, parece bastante óbvio inclusive, mas fora da nossa bolha o git pode ser uma ferramenta bem desconhecida, então minha missão hoje é tentar mostrar o potencial da ferramenta e algumas das coisas básicas para utilizá-lo.


Vale lembrar que o git é um universo a parte e existe muita coisa para aprender, não tenho a pretenção de ensinar tudo que pode ser ensinado em um post, mas espero que você saia daqui com o básico para usar em seu projeto e quem sabe um pouco de curiosidade para aprender alguns extras.


De acordo com o próprio site:

Git é um sistema de controle de versão distribuído, ofericido de forma gratuita e código aberto que foi projetado para lidar com projetos de qualquer tamanho com velocidade e eficiência.

Se parece bastante ambicioso, é porque é mesmo. E funciona de maneira impecável, empresas como Microsoft, Google, Amazon e todas as outras grandes de tecnologia utilizam git no seu dia-a-dia.


Vamos entender o básico do git, em um nível BEM alto de abstração, ele segue o seguinte modelo: seus arquivos possuem uma cópia na nuvem, esse conjunto de arquivos ficam hospedados em um local chamado Repositório.


O repositório na nuvem (também chamado de repositório remoto ou repositório central) é a fonte de verdade, ou seja, ele deve conter a última versão de seus arquivos sempre.

Cada um dos envolvidos no projeto criam um clone deste repositório localmente em suas máquinas, fazem suas alterações e depois de finalizar, enviam suas alterações para o repositório na nuvem.

O conceito é relativamente simples, mas a magia está no que podemos fazer isso. O git gerencia conflitos, mantém histórico de atualizações e nos permite voltar no tempo para qualquer versão do arquivo (que pode ser muito útil caso alguém faça uma besteira).


Vamos ver na prática como criar um repositório, clonar ele em seu computador, alterar alguma coisa dentro do maker e enviarmos as mudanças para o repositório na nuvem, o que acha?


Vamos lá! Primeiro vale falar que existem maneiras muito diferentes de utilizar o Git, vou mostrar uma forma simples de utilizarmos ele para nossos projetinhos no maker.


Comece criando uma conta no GitHub, o GitHub funciona como uma rede social para repositórios gits, onde você pode seguir pessoas e contribuir com outros códigos. Inclusive você pode me encontrar em: https://github.com/gabrielschade


Após criar sua conta, você verá em seu perfil 4 abas: Overview, Repositories, Projects e Packages.

Vamos acessar a aba de Repostiories, ao entrar nela você verá um botão verde para criar um novo repositório, pressione-o.


Nesta página você preencherá as configurações de seu repositório: nome e descrição são campos descritivos, mas vale lembrar que o nome é utilizado para formação da URL.

Aqui você pode escolher se seu repositório será público (todo mundo pode ver o que há dentro dele) ou privado (repositório fechado), você pode adicionar arquivos por padrão, como um README e um .gitignore e até escolher a licença do seu projeto.


Vale uma mençaõ especial ao .gitignore, este arquivo permite que você configure quais arquivos devem ser ignorados no backup, o que pode ser bastante útil.


Vou criar um repositório com o nome: exemplo-cafe, ele será um repositório público.

Agora o bicho pegou, o que significam essas coisas todas? -Bom, isso são instruções de como clonarmos o repositório em nosso computador. Existem duas formas básicas, através do software para Windows ou através de linhas de comando.

Em qualquer um dos casos você precisará instalar uma das opções acima.


Vamos seguir usando linhas de comando, vocês vão ver que é bem mais simples do que parece, vamos lá.


Vá até a pasta onde seu projeto do Maker está, pressione o botão direito e selecione a opção open Git bash:

Isso irá abrir a janela de comandos super assustadora (nem é), e é aqui que executamos nossos comandos.

Vamos começar com o comando que initicializa o repositório local:

$ git init

Com isso será possível visualizar uma pasta chamada .git. Depois disso, já podemos utilizar o comando para ver a diferença entre nosso repositório local e o repositório na núvem:

$ git status

Perceba que ele detectou os arquivos, mas que eles estão sinalizados como não rastreados ou Untracked files.

Para começar a rastrear eles, basta utilizarmos o comando abaixo:

$ git add *

Note que nesse comando, o asterisco é utilizado como um coringa para todos os arquivos, caso quiser adicionar um arquivo individualmente você pode utilizar substituir este caractér pelo nome do arquivo.

Se você executar novamente o git status verá que os arquivos estarão todos em verde e marcados como "new file".


Perceba que até agora simplesmente alteramos os arquivos do repositório localmente, sem realizarmos nenhuma operação de "salvar". Para salvarmos nosso progresso no repositório local precisamos realizar um commit.

$ git commit -m "Commit inicial"

O -m que pode gerar estranhesa simplesmente é uma abreviação para Mensagem, ou seja, cada vez que você salva seu progresso, você pode atribuir uma mensagem à ele.

Agora vamos fazer a configuração inicial e sincronizar nosso repositório da nuvem pela primeira vez, para isso, execute os seguintes comandos:

$ git branch -M main

$ git remote add origin https://github.com/gabrielschade/exemplo-cafe.git (lembre-se de alterar a url para o seu repositório)

$ git push -u origin main

Nossa que coisa complicada! Eu vou ter que lembrar disso sempre? -Não, não vai.

Para o propósito de simplesmente fazer seus backups diários, você fará isso só uma vez, suas únicas atividades regulares serão: git add *, git commit, git push e é isso.


Note que a primeira vez que você realiza a operação push pode levar algum tempo, porque nesta primeira vez é onde os arquivos são carregados para a nuvem, depois disso, apenas a diferença deles é atualizada, fazendo com que tudo seja muito mais rápido do que subir os arquivos sempre.


Depois do comando git push, você já poderá ver seus arquivos no Github:


Tudo devidamente configurado!


Como fica o trabalho no dia-a-dia? - Vamos supor que criamos um mapa novo e alteramos o nome a imagem do primeiro inimigo no database do Maker de Bat para Imp.

Perceba que temos o arquivo Map002 como não rastreado e mudanças no arquivo Enemies.json, conforme dito (as outras mudanças o próprio maker que faz).


Agora novamente, basta utilizar os comandos git add * e git commit para salvarmos o progresso de nossas alterações.


Lembre-se que após realizar o commit nossas mudanças foram feitas apenas no repositório local, ainda precisamos enviá-las ao repositório na nuvem. Mas antes de fazer isso, vou mostrar outro comando: o git log, este comando mostra as mudanças ao longo do tempo com suas respectivas descrições:

Podemos ver inclusive que nossa versão local (main) possui uma mudança que não está presente no repositório da nuvem (origin/main).


Agora podemos utilizar o git push para enviar nossas atualizações, como já fizemos a configuração inicial, nenhum parâmetro adicional é necessário: apenas digite git push.


As alterações dessa vez são significativamente mais rápidas e você já poderá ver as mudanças no GitHub!


Inclusive se você entrar na página de seu commit é possível notar até a diferença entre os arquivos, olha só que maneiro!

Na imagem acima conseguimos ver que o nome foi alterado de Bat para Imp e que um dos parâmetros (no caso foi o HP) mudou de 200 para 500!


Por mais que essas telas pretas e comandos possam parecer assustadores para quem não está familiarizado, eu espero que você tire um pouco do seu tempo para ficar amigo do Git, porque assustador mesmo é perder seu projeto de bobeira.


Forte abraços e espero que tenham gostado do meu primeiro post por aqui!

560 visualizações1 comentário

Posts recentes

Ver tudo

1 Comment


Mister Dovah
Mister Dovah
Dec 23, 2020

Post excelente e veio em uma boa hora. Obrigado por essa maravilha, Schade. Preciso dar chance pro Git.

Like
bottom of page