Primeiros passos com o GitHub

Primeiros passos com o GitHub


No processo de desenvolvimento de software, atualmente é comum que desenvolvedores trabalhem com equipes geograficamente distribuídas para desenvolvimento de um projeto, sejam nas áreas financeiras, educacionais ou negócios.

Dentre uma variedade de plataformas modernas que viabilizam o desenvolvimento de software colaborativo e distribuído (por exemplo, Bitbucket ou GitLab), Gousios, Pinzger e Deursen (2014) destacam que o GitHub atualmente é o maior host de código aberto.

Nessa ferramenta os desenvolvedores que estão participando de algum projeto ativamente em qualquer lugar do mundo podem gerenciar localmente o código fonte da aplicação, do sistema ou do produto e, após isso enviar essas modificações para que posteriormente sejam integradas no produto final de desenvolvimento.

O GitHub é a ferramenta que fornece acesso ao Git, para manter todos os históricos das modificações. Por exemplo, imaginem uma pessoa trabalhando em um projeto de desenvolvimento, qualquer erro submetido ao longo do processo pode ser facilmente revertido, tendo em vista que o desenvolvedor tem conhecimento do produto que está desenvolvendo. Agora em projetos populares em que milhares de desenvolvedores participam ativamente do desenvolvimento de um produto, não é tão simples reverter algum erro submetido.

Nesse caso, ter o histórico de alterações é importante, tendo em vista que as modificações realizadas ao longo do projeto podem ser revertidas até um ponto específico sem que haja grandes prejuízos.

Neste artigo você vai aprender os primeiros passos para utilizar o Github, desde o download do software até a submissão de um código para a plataforma.


Primeiros passos com o GitHub

Uma das formas de utilização do GitHub para gerenciamento do código entre equipes, consiste no aplicativo GitHub desktop que pode ser baixado no site oficial do GitHub.

Nele você pode criar um novo repositório, adicionar um repositório local, clonar um repositório, além de enviar e receber modificações de códigos desenvolvidos por outras pessoas de forma intuitiva.

Figura 1: Interface do GitHub Desktop. Fonte: GitHub Desktop.

Após a instalação e login na conta do GitHub, vamos criar um novo repositório e submeter um algoritmo Hello World em C#, para entender melhor como o processo funciona.

1) Criação de um novo repositório: Para criar um novo repositório, com o aplicativo aberto acesse a aba File -> New repository (Figura 2).

Figura 2: Criando um novo repositório. Fonte: Elaboração Própria.

Na página de criação você pode dar um novo nome para o seu repositório, além de adicionar uma descrição, o caminho local em que você irá desenvolver as aplicações. Você pode ou não marcar a opção de inicializar o repositório com o README, e deixar inicialmente os campos Git ignore e License como padrão (Figura 3).

Figura 3: Janela de configuração inicial para criação do novo repositório. Fonte: Elaboração Própria.


Após a criação do repositório, ela estará disponível apenas localmente na sua máquina. Ao publicá-lo no GitHub, você pode compartilhá-lo e colaborar com outras pessoas que estarão envolvidas no projeto. Para realizar a publicação do seu repositório local recém criado, clique no botão Publish repository que fica na página principal da ferramenta (Figura 4).

Figura 4: Publicação do repositório no GitHub. Fonte: Elaboração Própria.

2) Criação de artefato de software: Após a publicação do repositório, você pode realizar suas modificações em artefatos de software de maneira isolada e enviar para o repositório recentemente criado através de commits.

Para este domínio, realizaremos como exemplo a criação de um algoritmo muito famoso na computação Hello World, para que seja enviada ao repositório recém-criado localmente para que as modificações sejam propagadas no repositório central.

3) Enviando os arquivos recentemente criados através de commits: Após a criação do algoritmo usado como exemplo, o GitHub desktop irá identificar que houve uma nova modificação no repositório recentemente criado (Figura 4).

Figura 4: Modificações no repositório local recentemente criado. Fonte: Elaboração Própria.

A partir desse momento, você pode commitar localmente as mudanças que foram realizadas e posteriormente subi-las para o repositório central.

Cada commit realizado, existe um histórico de modificações que pode ser acessado na aba History ao lado de Changes (Figura 4).

Mas para que serve essa funcionalidade? Suponha que você apague o arquivo e queira recuperar posteriormente, essa funcionalidade torna-se possível devido ao histórico de controle de versões que existe dentro da ferramenta.

Cada ação que é realizado em um projeto, é possível recuperar ou verificar quais modificações são realizadas, então se em algum projeto com vários desenvolvedores alguém submete alguma alteração com bugs, é possível identificar qual desenvolvedor subiu a aplicação com problema e recuperar o sistema para o estado anterior (ou seja o estado de funcionamento antes do bug).

4) Subindo as modificações para o repositório central: Após terminar as mudanças realizadas localmente em sua máquina, você pode enviar essas modificações ao repositório central de desenvolvimento, para que outras pessoas possam ter acesso ao seu projeto.

Para realizar essa ação, clique no botão Push origin na página central do aplicativo (Figura 5).

Figura 5: Enviando as modificações locais para o repositório central. Fonte: Elaboração Própria.

A partir deste momento, todo histórico de mudanças do seu projeto pode ser acessado no repositório remoto do GitHub e pessoas que estão ou não no seu projeto podem realizar o clone e criar novas funcionalidades no seu projeto de software, no entanto, colaboradores externos devem abrir uma espécie de “solicitação” de Pull request para que alguém do time principal decida se irá integrar ou não as novas mudanças realizadas.

Conclusão

Em equipes de desenvolvimento, é comum que desenvolvedores trabalhem no mesmo projeto de desenvolvimento de software. Para que isso seja possível, é necessário ter controle de tudo o que está sendo desenvolvido para que as equipes do projeto possam gerenciar da melhor forma possível o processo de desenvolvimento, e entreguem no final do projeto um produto de qualidade atendendo as necessidades do usuário final.

Este artigo, teve como principal objetivo, abordar conceitos do sistema de controle de versão e mostrar na prática como ocorre o processo de gerenciamento dessas ferramentas, desde a criação de um novo repositório, até a submissão de algum artefato de software no repositório remoto do projeto para que futuramente outros desenvolvedores possam contribuir no projeto.

Portanto, compreender o funcionamento das ferramentas de controle de versão, podem auxiliar os desenvolvedores e toda a comunidade de desenvolvimento, principalmente os que estão iniciando na carreira de programação a entenderem e colocarem em prática os fundamentos básicos do sistema de controle de versão.

Até logo!

Referências bibliográficas

  • GOUSIOS, G.; PINZGER, M.; DEURSEN, A. v. An exploratory study of the pull-based software development model. In: Proceedings of the 36th International Conference on Software Engineering. [S.l.: s.n.], 2014. p. 345–355.

💡
As opiniões e comentários expressos neste artigo são de propriedade exclusiva de seu autor e não representam necessariamente o ponto de vista da Revelo. A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.


Referências Bibliográficas

GOUSIOS, G.; PINZGER, M.; DEURSEN, A. v. An exploratory study of the pull-based software development model. In: Proceedings of the 36th International Conference on Software Engineering. [S.l.: s.n.], 2014. p. 345–355.