Conceito de Git, Bitbucket e Branches

Git

Pronunciado [git] é um sistema de controle de versão distribuído e um sistema de gerenciamento de código fonte, com ênfase em velocidade. O Git foi inicialmente projetado e desenvolvido por Linus Torvalds para o desenvolvimento do kernel Linux, mas foi adotado por muitos outros projetos.

Cada diretório de trabalho do Git é um repositório com um histórico completo e habilidade total de acompanhamento das revisões, não dependente de acesso a uma rede ou a um servidor central.

O Git é um software livre, distribuído sob os termos da versão 2 da GNU General Public License.

Fonte: https://pt.wikipedia.org/

Bitbucket

Bitbucket é um serviço de hospedagem de projetos controlados através do Mercurial, um sistema de controle de versões distribuído. É similar ao GitHub (que utiliza Git, somente). Bitbucket têm um serviço grátis e um comercial. O serviço é escrito em Python.

O Bitbucket também suporta repositórios usando o sistema de controle de versões Git.

Fonte: https://pt.wikipedia.org/

Branches

Um branch no Git é simplesmente um leve ponteiro móvel para um commit. O nome do branch padrão no Git é master. Como você inicialmente fez commits, você tem um branch principal (master branch) que aponta para o último commit que você fez. Cada vez que você faz um commit ele avança automaticamente.

ETI_BRANCHES_GIT

Os branches principais

  • Master – Onde está o código final, liberado ao usuário/cliente. Neste repositório não é feita/postada nenhuma alteração, com exceção de hotfixes.
  • Develop – Tem sua origem baseada no master e é onde está a base do código para a próxima versão e/ou release. As features são sempre baseadas neste código. Quando o código fonte do develop se tornar estável e estiver pronto para ser liberado, todas as mudanças são mescladas (merged) com o master e então um novo número de versão ou release é criado.

Os branches de apoio

  • Hotfix – Tem sua origem baseada no master e após ser liberado faz  merged com o develop e master. Um Hotfix é onde está o código do master, mas que precisa de pequenos ajustes, como por exemplo um erro de português.
  • Release – Tem sua origem baseada no develop e após ser liberado faz merged com o develop e master. Um Release é a etapa final antes de liberar uma versão de produção. É onde são feitos os ajustes finos da versão.
  • Feature – Tem sua origem baseada no develop e após ser liberado faz merged com o develop. Um Feature é onde são desenvolvidos as novas funcionalidades do sistema.

Pull Requests

Todo branche criado (seja ele um Hotfix, Release ou Feature) para fazer merged com o branche principal (Master ou Develop) é necessário que seja criado um Pull Request, que é simplesmente um pedido para que aquelas alterações realizadas por você sejam revisadas, discutidas entre a equipe e aprovadas pelo responsável para que seu código possa fazer parte do branche principal.

PullRequest

 



Git x BitbucketO que achou sobre este assunto?
Deixe aqui seu comentário, opiniões, duvidas e sugestões sobre Git, Bitbucket e Branches.
Todo comentário e opinião são bem vindos.
Tentarei responder todas as perguntas da melhor maneira possível.
Gostou do post? Então Compartilhe essa informação em suas redes sociais agora mesmo!

 

Juliano Bazzi

About Juliano Bazzi

Graduando em Sistemas de Informação na Universidade de Cuiabá (UNIC). Áreas de maior interesse: TI Verde, Sustentabilidade, Programação e Sistemas Mobiles.