Explore os principais conceitos do git e conheça mais sobre esta ferramenta de controle de versionamento.


Repositório

Este é o local onde estão os código fontes de um projeto. Um repositório pode ser privado ou público.

Um repositório é público quando qualquer pessoa (inclusive não logados) podem ver os arquivos do repositório. Já os repositórios privados podem ser visualizados somente por usuários autenticados e com permissão para isso.

Os sites mais famosos para manter repositórios do Git são: Github e Bitbucket.

Estrutura do repositório

Para exemplificar retirei essa imagem do Github.

Exemplo de repositório do github

A imagem acima tem pontos de destaque de pontos importantes sobre um repositório.

Vermelho: nome do dono do repositório.

Laranja: nome do repositório.

Verde claro: numero total de commits já feitos.

Verde escuro: números de branches, neste caso somente uma, a master.

Azul: foto do contribuidor do último commit, neste caso é o dono, entanto num repositório pode haver vários contribuintes convidados para auxiliar no desenvolvimento.

Roxo: a frase colocada no último commit feito no repositório.

Amarelo: botão que indica como clonar ou fazer download do repositório.

Rosa: pastas contidas no repositório.


Branch

As branches são como se fossem "universos paralelos e alternativos" do seu repositório.

Por padrão todo repositório vem com uma branch master, que é onde vai parar todo o conteúdo do repositório, a não ser que você altere isso.

É possível aplicar o conceito de herança entre as branches, onde uma branch pode ser criada a partir de outra.

Também podem ser adicionados commits de outras branches e até unir branches e as deletar.

Por convensão são criadas 2 branches para organizar os repositórios.

É criada uma branch chamada dev, que é onde acontecerá o desenvolvimento mais instável. E a branch master, padrão do repositório, é mantida para os commits de versões estáveis.

Estágios da branch

Uma branch tem 2 estados, sendo o estado remoto e o estado local.

Remota

Uma branch remota é a versão da branch que está no servidor do repositório. É aqui onde ficam salvos todos os dados do repositório e onde são enviadas os commits e o conteúdo das suas branches locais.

Exemplo de branch remota do github

Local

Quando fazemos um clone de um repositório, as branches deste são copiadas para a nossa máquina. Desta forma temos cópias locais de branches remotas.

Exemplo de branch local

Caso seja realizado alterações na branch local e não sejam commitadas, essas alterações não estarão na branch remota.

Exclusão de branches locais não resultarão em exclusão da branch remota.


Commits

Os commits são criados quando são finalizadas alterações num repositório, que precisam ser enviadas ao repositório remoto.

Eles podem ser entendidos como cartas sendo enviadas pelo correio, onde a sua branch local é o remetente, a branch remota é o destinatário e o commit é o envelope que carrega o conteúdo que foi alterado.

Exemplo de um commit

Após a finalização de um commit, a branch remota é atualizada com o conteúdo modificado na branch local, da máquina do desenvolvedor.


Conclusão

As estruturas de repositórios e branches são o ponto chave do git, como também, os commits. Mais sobre esse ecossistema será abordado em postagens futuras.

Para ver mais postagens sobre o tema, visite a categoria Git.