O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Rogue Snail Talk - Usando Git na Game Jam - WGJ

46 visualizações

Publicada em

Workshop dado na Game Jam Women Game Jam por Nath Cruz da Rogue Snail.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Rogue Snail Talk - Usando Git na Game Jam - WGJ

  1. 1. Usando Git na Game Jam
  2. 2. Quem eu sou: Nath Cruz ● Programadora na Rogue Snail. ● Fundadora e Programadora na Utopia Game Studio. ● Estudante de Jogos Digitais na Unisinos. ● Técnica em informática e em Programação de Jogos Digitais. Contato: ocruznathalia@gmail.com Natália Cruz - Usando Git na Game Jam - Agosto 2020
  3. 3. Um pouco sobre a Rogue Snail Trailer Relic Hunter Legends | Site Rogue Snail A Rogue Snail é uma empresa totalmente remota com integrantes trabalhando de todo o Brasil e também de outros países. Estamos desenvolvendo os jogos da franquia Relic Hunters com a nossa própria propriedade intelectual.
  4. 4. O que é o GIT e para que serve Git é uma ferramenta de versionamento onde você consegue salvar o estado atual do seu projeto. Praticamente é uma máquina do tempo! Usando Git, uma equipe grande consegue trabalhar no mesmo projeto e mantendo versões diferentes estáveis. Natália Cruz - Usando Git na Game Jam - Agosto 2020
  5. 5. O que é o GIT e para que serve Viagem no tempo: Consegue ir para um estado estável antes das coisas pegarem fogo. Versionamento: Chega de cópias de zip no drive de versao_final_finalizada_aleluia.zip!
  6. 6. “No que vou usar isso na minha vida?” ● Salva o seu projeto de cachorros que comem pen drive. ● Evita perda de trabalho feito caso ocorra um problema. ● Ferramenta feita para integrar trabalho feito por uma equipe.
  7. 7. ● Evita perda de projeto caso ele for corrompido ou algo semelhante. ● Backup do projeto na nuvem. ● Empresas grandes, não necessariamente remotas, utilizam GIT profissionalmente. “No que vou usar isso na minha vida?”
  8. 8. “E precisa em Game Jam?” Sim, além de ter um backup e poder voltar para uma versão mais estável caso algum imprevisto aconteça. Utilizar repositório minimiza o tempo levado para fazer o famoso “depois a gente junta tudo”.
  9. 9. Como posso usá-lo? Há vários clientes de GIT para várias plataformas Fork Source Tree Github Desktop Tortoise Git GitKraken
  10. 10. Terminal Git for Windows ● Com o terminal você tem ciência de todas as operações sendo feitas com mais controle. ● Leve e muitas vezes mais rápido. ● Te ajuda a imaginar que está acessando a Matrix.
  11. 11. Clientes de GIT - Fork
  12. 12. Colocando seu versionamento na nuvem ● Salva seu repositório na nuvem. ● Backups. ● Colaborar com membros de um time em um mesmo projeto simultaneamente. https://bitbucket.org/product/ https://github.com/ Os mais usados Natália Cruz - Usando Git na Game Jam - Agosto 2020
  13. 13. Características Bitbucket: Free para até cinco integrantes de uma equipe; 1GB de LFS. 1GB de LFS Free; colaboradores ilimitados. Ambos serviços tem projetos privados ilimitados e pode fazer upgrades para aumentar o storage e outros benefício. P.S: Vamos falar sobre o LFS e sua importância depois.
  14. 14. Vamos por a mão na massa! Vamos utilizar o Fork e o Github nessa workshop! Download do Fork em: https://git-fork.com/ Cadastro no Github em: https://github.com/ Natália Cruz - Usando Git na Game Jam - Agosto 2020
  15. 15. Passos iniciais ● Criar uma conta no Bitbucket ou no Github. ● Depois do login, vamos criar um novo repositório. Natália Cruz - Usando Git na Game Jam - Agosto 2020
  16. 16. Criando um repositório Repositório: Pasta com controle de versão do Git.
  17. 17. Clonando um repositório Copie o link do repositório:
  18. 18. Clonando um repositório - Fork File> Clone> Cole o link:
  19. 19. Funções importantes do Fork
  20. 20. Commit Um commit é um conjunto de mudanças feitas no projeto que o usuário queira salvar naquele estado. Um checkpoint, um save. É ideal fazer commits frequentes para caso você queira voltar para um estado anterior e salvá-lo.
  21. 21. Commitando uma mudança Changes - Contém as mudanças feitas que não foram commitadas. Stage - Adiciona arquivos que tiveram mudanças relevantes para irem possivelmente irem para o commit. Unstage - Remove mudança que foi dado Stage.
  22. 22. Commitando uma mudança
  23. 23. Commitando uma mudança
  24. 24. Push - Empurrar/Upload Depois que o commit é feito, a mudança fica salvo no repositória apenas de forma local. As mudanças se encontram apenas na sua máquina. Você precisa “Empurrar/Enviar” essas mudanças para a nuvem (Github, Bitbucket ou outro serviço). Origin/Master - É o seu branch/ramo principal na nuvem. Master - É o seu ramo principal local em sua máquina. P.S: Vamos falar sobre Branch/Ramo em breve, segura aí.
  25. 25. Push - Empurrar/Upload
  26. 26. Push - Empurrar/Upload
  27. 27. Pull - Puxar/Baixar Ok, e se meu colega alterou algum arquivo e eu quero atualizar o projeto? Você precisa baixar as mudanças dos seus colegas usando o comando Pull. É recomendável quando você estiver trabalhando no mesmo branch que um colega você dar Pull antes de fazer suas alterações para o Git atualizar o projeto. P.S: Vamos falar sobre Branch/Ramo em breve, eu juro!
  28. 28. Outras operações Fetch - Baixa todas as mudanças e commits feitos no repositório remoto sem afetar o seu estado local. Stash - É uma “lixeira” para guardar mudanças temporárias caso você queira sair de um branch e ir para outra sem perder suas mudanças atuais. Natália Cruz - Usando Git na Game Jam - Agosto 2020
  29. 29. Branches E se eu estou mexendo em uma feature que ainda está em desenvolvimento e ainda não está estável? Como posso mandar para o servidor sem quebrar o projeto? A resposta é criando Branches! Branches são ramificações que apontam para estados de commits. Usando branches você consegue divergir do estado atual do repositório e voltar para esse estado anterior facilmente.
  30. 30. Branches são úteis para fazer uma feature mais isolada sem mudar drasticamente o estado do projeto para que outras pessoas consigam ter uma versão estável com segurança. Branches É como se você fosse um viajante no tempo criando uma realidade alternativa e quisesse voltar para estabilidade caso algo desse errado.
  31. 31. Criando uma Branch Sua branch precisa sair de outra branch/commit para ser criada. Por padrão, a branch master já é iniciada com o repositório.
  32. 32. Trocando de branch Caso você quiser voltar para outra timeline do seu projeto onde alguma coisa específica estava diferente, você pode mudar a vontade! Só não esqueça de commitar suas mudanças atuais para não perdê-las caso forem relevantes! Antes de trocar de branch é importante dar um Fetch para atualizar todas as branches remotas para você não perder uma atualização.
  33. 33. Boas Práticas com Branches Há boas práticas para criação de branches. Uma delas é você fazer uma branch nova quando trabalhar em uma Feature nova. Isso pode te ajudar caso alguma mudança destrutiva ocorra no seu repositório. Trabalhar em uma branch separada da Master faz com que as mudanças da master fiquem protegidas de mudanças instáveis. Mas também é exagero criar um branch para cada mudança pequena.
  34. 34. Merge - Mesclar E depois que você quer unir suas mudanças estáveis com o resto do projeto? Para isso você precisa fazer o Merge. Merge é a união de commits mesclados em um novo commit que guarda esse novo estado. Natália Cruz - Usando Git na Game Jam - Agosto 2020
  35. 35. Merge - Mesclar Merge é um processo que pode ser complexo em projetos grandes com equipes grandes onde tem pessoas mexendo em coisas simultaneamente.
  36. 36. Como fazer um Merge
  37. 37. Resolvendo conflitos em Merge Às vezes os Merges podem ter conflitos quando as branches mescladas tiveram mudança nos mesmos lugares:
  38. 38. Resolvendo conflitos em Merge Dependendo do conflito, você pode marcar apenas as mudanças de uma das branches. Mas quando o commit tem trechos requisitados nos dois branches, você precisa dar Merge para mesclá-os. Ative as duas checkboxes e dê um Merge.
  39. 39. Resolvendo conflitos em Merge
  40. 40. Resolvendo conflitos em Merge Conflitos podem ser resolvidos com trechos de cada branch, para isso basta passar o mouse no conflito sublinhado e dar select Left ou Right.
  41. 41. Resolvendo conflitos em Merge Um trecho pode ser dado Select Left ou Select Right mas você pode editar o texto, copiar e colar partes do outro trecho ou mudá-lo para incluir ambos.
  42. 42. Resolvendo conflitos em Merge Depois de resolvido, faça o commit normalmente e verá a mágica acontecer. Inclusive no Fork fica visível o resultado do Merge antes de commitar.
  43. 43. Git Ignore Há arquivos que você quer ignorar e não quer commitar mudanças, principalmente quando você trabalha com uma Engine como a Unity e a Unreal. Há arquivos gerados pela própria engine que não devem entrar no commit. Um formato de arquivo específico, um arquivo ou um diretório inteiro pode ser ignorado.
  44. 44. Git Ignore Não esqueça de fazer um commit com o arquivo .gitignore depois de adicionar alguma coisa no Ignore!
  45. 45. Git Ignore na Unity Pastas geradas pela Unity que devem ser ignoradas: NomeDoProjeto/Library NomeDoProjeto/Temp NomeDoProjeto/Logs Também há extensões que devem ser ignoradas como: *.suo, *.tmp etc. Veja mais em: https://github.com/github/gitignore/blob/master/Unity.gitignore
  46. 46. LFS significa Large File Storage e é utilizado para seu repositório lidar melhor com formatos binários que não lidam bem com mudanças em texto como .jpg, .psd, .mp3 etc. Código e arquivos de texto não entram para o LFS. Veja quais são os arquivos que precisam estar no LFS: https://gist.github.com/nemotoo/b8a1c3a0f1225bb9231979f389fd4f3f O que é o tal LFS que estava nos planos do Github e Bitbucket mesmo?
  47. 47. O LFS precisa ser inicializado no projeto para ser usado. Para isso vá em: Repository > Git LFS> Initialize Git LFS
  48. 48. Inicializando o LFS
  49. 49. Inicializando o LFS Adicione no formato como o formato de exemplo: *.bla Depois de adicionar extensões de arquivos que você usa no projeto aperte em Track.
  50. 50. Outras configurações para a Unity Para utilizar Unity com Git, além de configurar o Ignore, há configurações que precisam ser feitas dentro da Engine, elas se encontram em: Edit> Project Settings:
  51. 51. Mas o que são esses Meta Files? Arquivo que a Unity cria para cada asset. Ele guarda um identificador (id) único para reconhecer o asset que também é gerado durante sua criação. Ele fica oculto se a opção Visible Meta Files não é marcada, portanto, não conseguiria ir para o versionamento.
  52. 52. Outras configurações para a Unity NÃO SE FAZ MERGE DE SCENE UTILIZANDO AS MUDANÇAS DE DUAS BRANCHES. Utilize prefabs, cenas separadas, Scriptable Objects o máximo possível! Quando não puder, comunique o time! Arquivos binários como *.jpg, *.png também não devem ser mesclados, use o LFS.
  53. 53. Saiba mais! Tutorial de Unity com Github Desktop: https://www.youtube.com/watch?v=qpXxcvS-g3g Documentação do Git para Terminal: https://git-scm.com/doc Workshop de Git com Terminal: https://drive.google.com/file/d/1LrjCba0tRgLeD0dT7LWMLe7F2SVrqKXW/view?usp=sharing The complete guide to Unity & Git: https://www.gamasutra.com/blogs/TimPettersen/20161206/286981/The_complete_guide_to_Unity__Git.php Meta Files na Unity: https://docs.unity3d.com/560/Documentation/Manual/BehindtheScenes.html Natália Cruz - Usando Git na Game Jam - Agosto 2020
  54. 54. Links da palestra Site da Rogue Snail: https://www.roguesnail.com/ Trailer do Relic Hunters Legend:https://www.youtube.com/watch?v=GW7B4zIciTI Git Fork: https://git-fork.com/ Github: https://github.com/ Bitbucket: https://bitbucket.org/product/ Natália Cruz - Usando Git na Game Jam - Agosto 2020
  55. 55. Obrigada :) Nath Cruz Contato: ocruznathalia@gmail.com Rogue Snail: www.roguesnail.com Natália Cruz - Usando Git na Game Jam - Agosto 2020

×