O GitHub é um site onde são colocadas bilhões de linhas de código e onde milhões de desenvolvedores se reúnem todos os dias para colaborar uns com os outros e relatar problemas existentes no software de código aberto. Basicamente, é uma plataforma de hospedagem de código-fonte com controle de versão usando o Git, onde a comunidade se ajuda. Mesmo sendo tão importante, muitos não sabem como usar o GitHub.

Como desenvolvedor, não é recomendável ignorar o GitHub como parte do seu trabalho ou estudos cotidianos. Através desta incrível plataforma, você poderá publicar os seus códigos e descobrir inúmeras novas possibilidades, além de poder ajudar desenvolvedores que estão com problemas e até mesmo a conseguir um emprego como programador.

Neste artigo eu irei explicar como usar o GitHub, alguns conceitos-chave e alguns de seus recursos para melhorar a sua experiência na plataforma.

Por que o GitHub?

Deixando de lado qualquer preferência pessoal ou diferenças técnicas, existe um grande motivo pela qual você deve usar o GitHub: todo mundo usa essa plataforma. Portanto, se você deseja uma ampliação no seu network e resultados mais eficazes, não tem para onde correr.

A maioria dos codebases tem migrado ao longo do tempo de outros sistemas de controle de versão para Git por causa de sua conveniência. O GitHub tem sido historicamente bem posicionado e empenhado um grande esforço para atender às necessidades da comunidade Open Source.

Portanto, hoje, sempre que você procurar alguma biblioteca, 99% das vezes a encontrará no GitHub. Além dos repositórios privados que são hospedados por alguns desenvolvedores.

GitHub Issues

Os “issues” do GitHub são um dos rastreadores de bugs mais populares do mundo. Eles fornecem aos proprietários de um repositório a capacidade de organizar, marcar e associar issues a milestones.

Se você abrir um problema em um projeto gerenciado por outra pessoa, ele permanecerá aberto até que você o feche (se você descobrir o problema que você teve) ou o proprietário do repositório o feche.

Às vezes, você recebe uma resposta definitiva e, em outros momentos, o problema fica em aberto e marcado com algumas informações que o categorizam. Em seguida, o desenvolvedor pode recuperá-lo para corrigir o problema ou melhorar a base de código com seus comentários.

Seguir

dica github

Com o GitHub, você pode seguir um desenvolvedor ou um repositório acessando o perfil do usuário e clicando em “seguir” ou clicando no botão “watch” .

Em ambas as opções, a atividade será exibida na sua time line como acontece nas redes sociais. Porém, diferente delas, você não verá o que os usuário dizem, mas sim o que eles fazem.

Fork

Um botão fundamental para o funcionamento do GitHub, tendo em vista que um fork é uma base para o Pull Request (PR), que eu vou especificar mais abaixo. Uma pessoa pode separar seu repositório, fazer algumas alterações e, em seguida, criar uma pull request para pedir que você adicione essas alterações.

Às vezes, a pessoa que aciona o forks em um repositório, pode nunca pedir que você adicione as alterações. Eles podem marcar “fork” no seu repositório só porque gostaram do seu código e decidiram adicionar algo em cima, mas que não será acrescentado no repositório original. Um usuário também pode corrigir um bug que estava enfrentando, específico para eles.

Stars

Um grande recurso do GitHub é a possibilidade de dar uma estrela para um repositório (uma espécie de ‘favoritar’). Esta ação irá incluí-lo em sua lista de “repositórios marcados com estrelas” e permitirá que você acompanhe os projetos que achar interessantes e descubra alguns projetos semelhantes.

É também um dos mecanismos de classificação mais importantes, pois quanto mais estrelas um repositório possui, mais popular e importante ele geralmente é. Isso resulta na exibição mais proeminente nos resultados de pesquisa.

O GitHub também possui uma página de tendências onde ele apresenta os repositórios que obtêm o maior número de estrelas em um determinado período de tempo (por exemplo, hoje, nesta semana ou neste mês).

Pull Requests

Na seção anterior, apresentei a Pull Request(PR):  uma pessoa pode marcar “fork” no seu repositório, fazer algumas alterações e criar uma pull request para solicitar que você mescle essas alterações.

Um projeto pode ter centenas de PRs, e geralmente é o caso de um projeto mais popular, quanto mais PRs ele tiver, como o projeto React:

Quando uma pessoa envia uma pull request, ela precisa ser revisada pelos principais responsáveis do projeto.

Dependendo do scope de sua pull request (o número de alterações, o número de coisas afetadas por sua alteração ou a complexidade do código tocado) o responsável pode precisar de mais ou menos tempo para garantir que suas alterações sejam compatíveis com o projeto.

Um pull request nem sempre é aceito rapidamente, e não há garantia de que seja aceito. O responsável pode querer manter as coisas simples enquanto você está introduzindo uma arquitetura complexa em uma pull request.

Gerenciamento de Projetos

Juntamente com os “issues”, que são os locais onde os desenvolvedores obtêm feedback dos usuários, a interface do GitHub oferece outros recursos destinados a fornecer algumas features de gerenciamento de projetos.

Um desses é o “Projects”. É muito novo no ecossistema e muito raramente usado, funciona como um Kanban Board que ajuda a organizar os problemas e o trabalho que precisa ser feito.

Outro gerenciamento de projeto popular é o milestones . Faz parte da página de “issues” , e você pode atribuir “issues” a milestones específicos, que podem ser um release target.

Por falar em release, o GitHub aprimorou a funcionalidade da tag Git introduzindo releases. Uma tag Git é um ponteiro para um commit específico e, se feita consistentemente, ajuda a reverter para a versão anterior do seu código sem especificar um commit.

Uma release do GitHub se baseia nas tags do Git e representa um release completo do código, juntamente com arquivos zip, notas da release e recursos binários que podem representar uma versão totalmente funcional do produto final do seu código.

Enquanto uma tag Git pode ser criada programaticamente (por exemplo, usando o programa git da linha de comando), criar um release do GitHub é um processo manual que acontece através da interface do usuário do GitHub.

Comparando commits

Uma das coisas mais importantes que você pode querer fazer é comparar um ramo com outro.  Você pode querer comparar o commit mais recente com a versão que você está usando atualmente para ver quais mudanças foram feitas ao longo do tempo.

O GitHub permite que você faça isso com o compare view: basta adicionar / compare ao final do nome do repositório.

Por exemplo, https://github.com/facebook/react/compare

A developer’s introduction to GitHub – freeCodeCamp - Google Chrome_2

Na figura abaixo, comparo o último React v15.x com a versão mais recente da versão 16.0.0-rc disponível no momento desta publicação para ver o que mudou.

introdução github

Esta imagem mostra os commits feitos entre dois releases (ou tags ou commits) que foram alterados, e o atual, se o número de mudanças for menor que um valor razoável.

Considerações finais

Essas são apenas algumas das funções mais básicas presentes na plataforma, mas acredito que seja o suficiente para iniciar uma exploração mais profunda.

O GitHub é uma incrível ferramenta e serviço para aproveitar, uma verdadeira joia no conjunto de ferramentas para desenvolvedores de hoje. Este tutorial ajudará você a começar, mas a experiência real de trabalhar em projetos de código-fonte aberto (ou de código fechado) do GitHub irá fazer você entender da melhor forma como se usa a plataforma.

Se você é um programador e está buscando novas oportunidades profissionais, acesse a ProgramaThor, uma stratup focada no recrutamento de desenvolvedores. Para se candidatar às vagas e receber notificações em casos de matching, basta de cadastrar e completar seu perfil corretamente.

VAGAS PARA PROGRAMADORES

Sobre o autor

Pedro Lucinio
Pedro Lucinio
Apaixonado por tecnologia e entusiasta da literatura !

Compartilhar