Git e GitHub: Entenda as Diferenças entre os dois | Accurate Blog Accurate

Git e GitHub: Entenda as Diferenças e Como utilizar a Plataforma como Vitrine Profissional

Conhecido no universo dos desenvolvedores, o Git vem sendo fundamental cada vez mais no controle e gestão de código-fonte quando o assunto é trabalhar em equipe. 

Atualmente quando se fala em desenvolvimento de software, tais ferramentas de controle de versão são indispensáveis para manter a colaboração entre dois desenvolvedores ou mais. 

Mas afinal de contas quando falamos de Git e GitHub, qual seria a relação entre estes dois grandes nomes da tecnologia?

Siga conosco nesse artigo, entenda as diferenças entre Git e GitHub e também saiba como utilizar a ferramenta como vitrine pessoal. 

Conhecendo o Git

Lançado em Abril de 2005, o Git foi inicialmente desenvolvido pelo Linus Torvalds para o desenvolvimento do kernel Linux e acabou se popularizou em outros projetos.

Hoje, o Git é mantido pela comunidade de software livre e assim como outros controles de versão de software tem como o objetivo possibilitar o desenvolvimento paralelo entre times.

Uma das características mais notáveis do Git é a forma com que ele trabalha com os repositórios de código, criando uma cópia completa do código fonte na estação de trabalho do desenvolvedor.

Essa característica traz eficiência e segurança na hora do desenvolvimento, pois isso acelera os processos de gravação e fornece uma forma simples de backup local do código.

Seu funcionamento se dá a partir da criação de um repositório, que possibilita o controle da versão dos arquivos. 

Assim que um arquivo é versionado, uma versão é criada e pode ser incrementada e trabalhada durante o ciclo de vida do repositório.  

A principal diferença do Git para outras ferramentas de controle de versão é a maneira com que os dados são trabalhados. 

Ao realizar uma mudança em um arquivo, o git entende e armazena somente os estados do fluxo do arquivo, fazendo com que desta forma tenha uma um menor uso de espaço em disco e performance bem superior a seus concorrentes como CVS e Subversion. 

Veja a Ilustração Abaixo e entenda melhor sobre o que estamos falando:

Figura 1 - Git e GitHubFigura 1: Armazenando dados como alterações em uma versão básica de cada arquivo.
(fonte: https://git-scm.com/book/pt-br/v2/Come%C3%A7ando-O-B%C3%A1sico-do-Git)

Criação de Branches no Git

Uma outra grande característica do Git são as criações de branchs. 

As branches são uma espécie de ponteiro, que são criadas para divergir um código de um ramo principal, possibilitando trabalhar sem ter concorrência e realizar a incorporação do código a uma branch principal. 

Essas divergências no código, são incorporadas posteriormente a uma versão principal por meio do comando Merge. 

Todas as operações do git são realizadas de maneira local, e sincronizadas com um servidor por meio dos comandos pull e push.

Figura 2Figura 2: Git e GitHub

Sobre o GitHub

o GitHub, possui um contexto um pouco diferente do Git, servindo como plataforma de hospedagem de código-fonte que faz o uso do Git como controle de versão. 

Seu foco é promover a divulgação de códigos Open Source. 

Hoje em dia, o GitHub chega a ter mais de 36 milhões de usuários ativos mundialmente, contribuindo em projetos pessoais e comerciais, e vem sendo utilizado como um portfólio técnico por muitos desenvolvedores. 

Existem também outras plataformas no mercado que trabalham parecido com o GitHub, mas com um foco voltado para repositórios comerciais fechados, são elas; BitBucket, GitLab e SourceForge. 

Além de todos os benefícios apontados pelo Git, a plataforma GitHub ainda possui um mecanismo de gestão e interação com a comunidade, divulgando e incentivando o desenvolvimento de novos projetos.

Dentro da plataforma é possível também, realizar a abertura de Issues, sugerir melhorias em códigos por meio de Pull Requests, dentre outras funcionalidades.

Usando o GitHub como vitrine Profissional

Para se ter um bom perfil no GitHub é preciso manter-lo atualizado, descrevendo no seu perfil quais as ferramentas e linguagens você desenvolve. 

Ter repositórios bem organizados também é fundamental, ou seja, ter um nome que descreva o propósito e uma descrição bem coesa.

Já para uma avaliação mais detalhada também é necessário que cada repositório tenha a sua documentação bem especificada no arquivo README.MD. 

Mas a dica de ouro é fazer parte da comunidade como um membro ativo, todos nós utilizamos alguma ferramenta Open Source distribuída pelo GitHub.

Por ela também é possível contribuir enviando sugestões de melhoria em código usando os famosos Pull Requests, ou somente apontando algum problema abrindo as Issues. 

Projetos Open Source são realmente incríveis e servem bastante como portfólio por serem bem organizados e fazerem o uso do Git Flow e por isso costumam ter um peso importante em um currículo. 

Além disso, o GitHub também vem servindo de fórum para a divulgação de vagas profissionais, com a realização de adaptações no modelo de abertura de issues em formato de divulgação de vagas.

Basta procurar por vagas nos repositórios e alguns repositórios com este propósito são exibidos.

De fato, hoje o GitHub se tornou uma rede social do código tendo grandes projetos de peso sendo tocados pela comunidade, sendo indispensável nos dias atuais. 

Em 2018, para reafirmar a postura frente ao código aberto, a Microsoft adquiriu a plataforma por U$ 7,5 bilhões, com o objetivo de fortalecer o compromisso com a liberdade, abertura e inovação dos desenvolvedores. 

Venha ser um Talento na Accurate

Na Accurate todos os profissionais são valorizados e estamos sempre incentivando o crescimento profissional e pessoal. 

Se você é um profissional da área de TI, dê uma olhada na nossa página de carreiras e cadastre-se para fazer parte do nosso time. 

Continue acompanhando o Blog da Accurate e compartilhe esse conteúdo com seus amigos. 

Dá uma olhada também em nossas Redes Sociais, tem sempre conteúdo interessante: Facebook, Instagram, Twitter, Linkedin e YouTube.

Autor

Higor Galdino
Especializado em arquitetura e tecnologias de software, iniciou carreira profissional como desenvolvedor em meados de 2013. Atualmente atua como desenvolvedor, tech lead e arquiteto em projetos dos mais diversos segmentos de mercado, utilizando metodologias ágeis e tecnologias emergentes com foco em inovação.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *