Como versionar projetos da Unity com o Github

Gunnar CorreaGunnar Correa01/03/2020 às 05:23:17 - 2.839 acessos

Um projeto versionado permite trabalhar em equipe e manter cópias seguras das alterações.


Atualmente, desenvolver jogos tem sido um trabalho árduo que demanda muito tempo, pessoas e muitas implementações. Mesmo que tenhamos várias ferramentas disponíveis gratuitamente a nossa disposição, o problema continua sendo sempre o mesmo: manter uma cópia segura das alterações e permitir que outras pessoas colaborem diretamente.

O problema acima pode ser amenizado de várias formas, como o uso do Unity Collab e também, versionando projetos através do Github. Mesmo mantendo o projeto versionado, é necessário manter e seguir um padrão de colaboração, para garantir que todos tenham os mesmos arquivos e estejam funcionando.

Resumidamente, precisamos de uma ‘pasta’ onde todos os arquivos funcionais estejam, enquanto outras implementações ainda em desenvolvimento e não validadas, estejam salvas em outras pastas. Ao término da implementação, pegamos o que estava na pasta de desenvolvimento e jogamos na pasta de recursos funcionais. Basicamente esse é um padrão de desenvolvimento com o Git, então, continue lendo o artigo que vou trazer explicações mais práticas.

Modelo de projeto com o github, criando branchs separadas e mesclando com a Master

Antes de mais nada, vamos entender duas coisas:

O que é o Git?

Git é um sistema/software de controle de versões, utilizado por desenvolvedores, a fim de controlar as alterações realizadas em sistemas e manter cópias de segurança.

 

O que é o Github?

Github é uma plataforma utilizada para hospedar códigos-fontes, utilizando a estrutura do Git. Com ele, é possível pegar todas as alterações e projetos do Git e hospedar no site, assim, mantendo uma cópia segura nos servidores e permitindo que outros desenvolvedores possam fazer suas contribuições.

 

Resumindo

Utilizando um software instalado em nosso computador, versionamos os projetos, criamos nossas Branches e posteriormente enviamos para o Github.

 

Mãos na massa

Okay, agora você já sabe o que são esses dois serviços, pelos menos na teoria, então, vamos a prática.

 

Primeiro, você precisa instalar o Git no seu computador, seja Windows, Linux, Mac, Unix ou qualquer outro. O site para download é https://git-scm.com/downloads. Não vou explicar como instalar, pois é um processo bem simples e nosso foco aqui não é esse, então, a partir daqui, vou presumir que você já esteja com ele instalado.

O processo de integração do Git com a Unity é bem simples, então só para recapitular, vamos criar o repositório do Git em nosso sistema e depois enviar para o servidor. O Git não depende do Github, então, podemos fazer tudo sem precisar enviar para o Github, mas essa não é a recomendação (vai que seu HD queima). Além do Github, temos o Bitbucket, Gitlab e outros servidores de hospedagem de códigos-fontes.

Vamos iniciar pelo Github, nele vamos criar nosso repositório, definir o tipo de licença e o .gitignore.

Gitignore – é um arquivo onde informamos o que não queremos commitar (enviar/salvar), nem tudo precisa ser versionado, como pastas de arquivos temporários.

 

Iniciando com Github

Inicialmente, acesse o site https://github.com e crie uma conta (https://github.com/join), caso já tenha, então faça o login (https://github.com/login).

Na home do Github, clique no botão New, representado pela cor verde.

Criando um novo repositório no Github

Na tela seguinte, é onde devemos informas os dados sobre o nosso repositório.

Repositório - É o espaço de trabalho do nosso projeto, nele vai conter os arquivos de código-fonte, histórico de versionamento e demais funcionalidades.

Não se assunte com essa nova tela, ela é bem simples. Na imagem coloquei alguns números e abaixo vou descrever o que é cada campo.

1 – Nome do nosso repositório. Não é possível atribuir um nome que já exista na sua conta.

2 – Breve descrição do seu projeto. É opcional e você pode deixar em branco, se quiser.

3 – Tipo de visibilidade, se vai ser publico ou privado. Publico permite que qualquer pessoa tenha acesso e veja o seu projeto, enquanto privado, fica oculto e somente pessoas autorizadas podem visualizar e contribuir.

4 – Inicializar o repositório com um Readme, que é um arquivo contendo instruções de utilização.

5 – Selecione o .gitignore inicial, é possível modificar depois, acrescentando ou removendo arquivos e diretórios.

6 – Selecione o tipo de licença do seu projeto.

7 – Após tudo concluído e preenchido corretamente, o botão ficará habilitado.

Atributos para criar um novo repositório no Github.

Depois de tudo preenchido, clique no botão verde Create repository.

Após criar o projeto, você será redirecionado para outra página, mais especificamente, para a página do seu projeto. Veja que nele contém um .gitignore, README.md e um LICENSE.

Repositório disponível no Github.

Se você chegou até aqui, então parabéns, você já tem um repositório no Github, agora você pode clonar, adicionar membros e fazer várias outras coisas.

Antes de finalizarmos, precisamos do link do nosso repositório, para isso, clique no botão verde Clone or download e copie o texto da caixa.

Copiando link de repositório do Github

Pronto, nosso trabalho no Github está finalizado.

Apenas fique de olho nas precificações, existem diferentes planos com diferentes preços, https://github.com/pricing.

 

Git Bash

Vamos fazer um rápido teste antes de sincronizar nosso projeto, então, crie uma pasta qualquer no seu computador, abra a pasta, clique com o botão direito do mouse e selecione a opção Git Bash Here. Obs. Só vai aparecer após a instalação do Git.

 

Abrindo o Git Bash no Wdindows

Com o Git Bash aberto, vamos entrar com o seguinte comando: git clone link-do-seu-repositorio. Ele vai fazer com que o Git clone o seu repositório, copiando assim todos os arquivos para a pasta atual.

git clone https://github.com/satellasoft/unity-test.git

Clonando um repositório do Github

Se tudo ocorreu bem, você verá uma mensagem como mostrada na imagem acima e a pasta do seu repositório. Esse processo de clonagem deve ser realizado quando você precisar clonar o repositório (ahh vá?, dãããã”), ou seja, quando você ou outros membros da equipe precisar baixar o repositório.

 

Reta Final

Até aqui você já fez um monte de operações, leu um monte de teorias e explicações, mas ainda não tem nenhum código da Unity no seu repositório. Relaxa, chagamos lá.

 

Crie o seu projeto da Unity caso não tenha criado ou abra a pasta do seu projeto.

Clique com o botão direito do mouse, em seguida, clique na opção, Git Bash Here.

O que nós vamos fazer é agora, é dizer para o Git que ele deve adicionar um repositório remoto, assim, permitindo e enviando as informações para o servidor do Github.

Primeiro vamos inicializar o nosso repositório, para isso, entre com o comando: git init.

git init

Agora já temos um repositório em nossa máquina, já podemos criar branches entre outras coisas.

Uma coisa que você tem que ter em mente, é importante que você sempre tenha os mesmos arquivos que estão disponíveis no servidor antes de poder enviar algo. Se houver muitas pessoas trabalhando no projeto, então antes de enviar algo, você vai precisar baixar os arquivos que estão lá, para depois enviar. Não se preocupe, o próprio Git vai verificar a diferença entre a sua máquina local e o servidor, assim, baixando apenas as partes e arquivos diferentes.

Agora que temos o repositório, precisamos adicionar o repositório remoto, para isso, execute o seguinte comando: git remote add origin link-do-seu-repositorio.

git remote add origin https://github.com/satellasoft/unity-test.git

Em algum momento, o Git vai abrir uma janelinha solicitando o seu usuário e senha do Github, então basta entrar com as suas credencias.

Adicionando um repositório remoto ao projeto do Git local

Pronto, agora temos nosso projeto sincronizado.

Se você se lembra do que disse a pouco, então vai saber que temos arquivos no servidor que não estão no nosso diretório local, que é o .gitignore, README.md e o LICENSE, então, vamos entrar com o seguinte comando: git pull origin master. Ele vai fazer a cópia dos arquivos da branch master para a nossa branch master local, copiando somente os arquivos diferentes.

git pull origin master

Baixando os arquivos do repositório remoto para o projeto local

Agora precisamos enviar nossos arquivos locais para o Github, para isso, utilize os comandos:

git add -A – Adiciona todos os arquivos/diretórios na lista a ser salva.
git commit -m “Descreva o que você está enviando” - Commita os arquivos adicionados, ou seja, salva eles na branch local.
git push origin master – Envia os arquivos commitados para o servidor do github.

git add -A
git commit -m "Projeto inicial"
git push origin master

Enviando as alterações da Branch local para a Branch remota

Pronto, todos os arquivos foram enviados para o servidor e agora você já tem tudo configurado, sincronizado e pronto para utilização.

Antes de finalizar nosso tutorial, quero deixar uma forma de trabalho, que é criando branches para cada atividade. Se você perceber, nas telas do Gitbash, tem um nome master no final de cada linha, no meu caso, com a cor Azul. Esse nome refere-se a branch master, que é ramo/pacote principal, então, mantenha nele apenas tudo que estiver funcionando e finalizado, para demais atividades e outras implementações, crie uma nova branch e quanto tudo estiver finalizado e validado, mescle com a master.

Vou deixar uma lista de alguns comandos com explicações, mas lembre-se, faça testes e se familiarize com o Git antes de tentar versionar o seu projeto final.

Git é Case-Sensitive, ou seja, possui diferenças entre caracteres maiúsculos de minúsculos.

git status – Mostra o status da sua branch, lista os arquivos modificados, deletados ou criados.
git add - A - Adiciona todos as alterações (elege elas a serem fazerem parte do commit)
git commit -m “primeiro commit”– Commita os arquivos (salva eles na sua branch)
git checkout -b nome-da-sua-nova-branch – Cria uma nova branch
git checkout nome-outra-branch - Troca de Branch
git merge nome-da-branch – Mescla a branch especificada com a atual
git pull origin nome-da-branch – Baixa todos os arquivos diferentes da branch remota especificada para sua máquina
git push origin nome-da-branch – Envia os arquivos commitados para o servidor
git remote add origin link-do-repositorio – Adiciona um repositório remoto
git reset –hard origin/nome-da-branch – Descarta todas as alterações locais e deixa como no repositório remoto
 

Para entender mais o processo e aprender outras coisas, assista a nossa videoaula complementar.

Uffa, acabamos, deu um baita trabalho escrever esse material, gravar, editar, fazer o upload do vídeo e outros processos, então, espero que tenha gostado e que o conteúdo tenha sido útil.

Eu vou ficando por aqui e nos vemos em breve. Ahhhhhh, não esqueça de compartilhar nas suas redes sociais.

 

clear

exit

 


Referências

Saiba como ignorar arquivos no Git facilmente - https://fjorgemota.com/gitignore-ou-como-ignorar-arquivos-no-git


github git unity unity e github versionar unity com github tutorial unity e github versionar projeto unity com github unity equipes git and unity versionamento com git

Compartilhe nas redes sociais



Gunnar Correa

Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web (FIPP), Especialista em Tecnologias na Educação (Unoeste) e Pós-graduando em Segurança da Informação (Universidade Cruzeiro do Sul). Começou seus estudos na área de programação quando era criança, e atualmente está estudando desenvolvimento de jogos. É CEO do portal SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.