O que é o GitHub?
101
0

O que é o GitHub?

Binhara
0 min
101
0
Email image

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.

Email image

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 

Email image

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.

Email image

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

Email image

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 é: 

  1. Controle completo da versão do software .
  2. Contém um repositório com o histórico completo com todas as alterações.

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

Email image

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!

Instale o Git em seu computador

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:

Email image

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:

Email image

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:

Email image

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: 

Email image

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:

Email image

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: 

Email image

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!