Github: | ||
É um serviço em nuvem que hospeda uma ferramenta de versionamento chamada Git. | ||
Agora vamos destrinchar cada parte dessa frase. | ||
Versionamento | ||
Pense em versionamento como uma medida. Assim como Celsius, Fahrenheit, Metros, Centímetros... E guarde essa informação. | ||
Agora, imagine que nosso código é um produto. | ||
Ele precisa ser colocado na prateleira do mercado, e para isso, deve receber -no mínimo- um número (Lote), uma data de produção e validade. | ||
Desse modo, todas as informações necessárias de controle, para colocar o produto na prateleira, são como o versionamento. | ||
Então, nesse contexto, o versionamento é entendido como toda medida de controle, que se estende além do uso pelo usuário, para um código publicado. | ||
Exemplo prático: | ||
Estou escrevendo um código para a empresa que trabalho, e esse código contém implementações de novas features (Telas, botões, Listas, etc). Para que saibamos em qual versão essas novidades serão implementadas, utilizamos o versionamento como medida. | ||
Assim que publicar meu código para revisão, ele fica marcado com uma versão, data de publicação, alterações realizadas e alguns comentários sobre a implementação -e esse processo é conhecido como commit. | ||
Parando pra pensar um pouco, e abstraindo algumas informações, o lançamento de um Playstation pode ser um versionamento. | ||
Playstation 1, Play 2, 3, 4, 5... Todos números de versões com conteúdo diferenciado. | ||
Agora vamos dar um passo mais afundo, e entender como uma equipe trabalha esse versionamento. | ||
No cotidiano, várias pessoas trabalham em cima de um mesmo software, em implementações diferentes ou até em busca de uma mesma solução. | ||
E como não se perder e publicar código em cima de outro código e quebrar o sistema inteiro? É o que vamos aprender no próximo tópico sobre branches | ||
Branch | ||
Do inglês, galhos. | ||
Recebe esse nome porque sua estrutura é semelhante a de galhos em uma árvore | ||
Nessa imagem você pode perceber o controle de versão sendo colocado em prática, e algumas coisas a mais acontecendo. Vamos entender melhor | ||
Cada bolinha nessa imagem representam alterações no código (Alterações no plural porque podem seu MUUUITAS). | ||
Cada linha representa uma branch, ou galho, que é uma ramificação do seu projeto. | ||
A função das branchs é permitir que trabalhos simultâneos ocorram no mesmo projeto. Ou seja, vários devs podem trabalhar em várias alterações sem depender de outros, ou afetar o projeto principal. | ||
No mundo real, trabalhamos sempre em uma branch secundária. | ||
Como assim?! | ||
Há a branch principal, chamada de Main/Master que contém o código em que o projeto está 100% funcional e rodando. | ||
Para realizar alterações e implementações no código, é necessário trabalhar em uma branch secundária, comumente denominada Develop, para não quebrar ou cometer erros no projeto principal. | ||
A partir da branch develop, criamos Features. Geralmente é criada uma feature por implementação. Exemplo: | ||
- Quero implementar uma tela nova de login. | ||
Cria-se uma feature a partir da branch Develop denominada NovaTelaLogin, em que trabalhamos até que a nova tela esteja pronta, e seu merge - ato de inserir uma branch em outra - na Develop seja feito. | ||
Esse merge causa aquela junção entre branchs que pode ser observado na figura; geralemente é feito o merge entre Feature e Develop, e a partir de Develop é realizado um Pull Request para a branch Main/Master. | ||
Pull Request será um tema para os próximos artigos, mas adianto que é uma forma de merge mais sofisticada e trabalha para evitar erros. | ||
Agora você já sabe o que é versionamento, e entende como trabalhamos ele através das branchs. | ||
Vamos falar sobre Git | ||
Git | ||
Criado por Linus Torvalds, famoso criador do kernel do sistema operacional do Linux. | ||
O Git é um sistema open source de controle de versão. o que ele faz é: | ||
| ||
Ele comanda todo o processo que vimos até aqui, através de uma interface de comandos, para auxiliar no fluxo de novas funcionalidades entre vários desenvolvedores no mesmo projeto, contando com ferramentas para análise e correção de conflitos. | ||
O Git é o coração do Github. | ||
Github | ||
O Github nada mais é que um serviço online de hospedagem dos repositórios Git. | ||
O que ele faz é sincronizar as versões, features e commits de um projeto. | ||
Além disso, o Github é uma ótima ferramenta para mostrar seu trabalho e evolução, contribuir com iniciativas Open Source através de Pull Requests em códigos abertos. | ||
Praticando | ||
Você já entendeu o conceito do Github, agora é hora de colocar a mão na massa! | ||
Agora crie uma pasta vazia em seu computador e com o botão direito do mouse, clique em Git Bash Here. | ||
Devemos configurar o Git com nossa conta - de preferencia Github - para que a história tenha nossa assinatura. | ||
digite o seguinte comando: | ||
Em seguida, no mesmo terminal, digite o comando git init. | ||
Esse comando insere uma pasta oculta .git no projeto, indicando que é um repositório git. | ||
Após esse comando, você deve receber um retorno como esse: | ||
Agora seu repositório Git já está iniciado! Mas calma, ele ainda não aparecerá no Github. Faremos isso mais pra frente. | ||
Vamos inserir um arquivo de texto dentro da pasta em branco. Abra sua pasta e adicione um Documento de texto chamado texto1.txt | ||
Dentro desse arquivo, adicione o conteúdo: Meu primeiro arquivo de texto | ||
Voltando a terminal do git, digite o comando git status, você deverá ver o seguinte: | ||
Esse comando exibe as ultimas alterações desde o ultimo ponto adicionado à história do repositório. | ||
Se você não está rastreando um arquivo, ele não entrará e seu commit para o servidor. | ||
Vamos executar o comando git add texto1.txt, para começar a rastrear o arquivo, e devemos obter o seguinte retorno: | ||
Agora seu arquivo está sendo rastreado e pronto para ser comitado . | ||
Se você alterar algo em seu arquivo, devera adicionar novamente ao rastreio para que as novas alterações sejam percebidas pelo Git. | ||
Vamos fazer nosso primeiro commit | ||
Digite o comando git commit -m "Primeira versão do projeto". Você receberá o seguinte retorno: | ||
E já temos a primeira história do nosso projeto! | ||
Agora você já pode criar quantos arquivos quiser e adicioná-los à sua história, fazendo quantos commits quiser. | ||
Agora vamos subir isso tudo para o Github. | ||
Comece criando um repositório e seu Github. | ||
Abra seu navegador, logue em sua conta no Github, clique em repositórios e crie um repositório novo. Não precisa especificar nada que não for essencial, apenas o nome do repositório serve. | ||
Você verá a URL do seu repositório logo após cria-lo, copie e salve para mais tarde. | ||
Agora voltando ao nosso Git, digite o comando git push remote add <NOME_DO_REPOSITORIO> <URL_DO_REPOSITÓRIO> | ||
Digite o nome que você deu para seu repositório e a url copiada sem os <> para que funcione. Após isso, seu repositório já foi identificado pelo Git e já podemos prosseguir. | ||
Digite o comando git push --set-upstream <NOME_DO_REPOSITORIO> master | ||
Você deve receber o seguinte retorno: | ||
Pronto! Seu repositório local já esta sendo exibido no Github, e você pode adicionar e subir quantos arquivos quiser. | ||
Para realizar as próximas adições, você precisa apenas adicionar as alterações com o comando git add, então realizar o commit com git commit - m"", e enviar seus códigos para o Github utilizando apenas o git push, sem o --set-upstream, pois seu repositório no Github já está sendo rastreado. | ||
Não esquece de contribuir sendo membro de meu Pingback. Custa apenas 5 reais e todo dinheiro é doado a instituições carentes. | ||
Qualquer dúvida, entre em contato comigo através de meu Instagram. Bons estudos! |