GIT: Controle de versões distribuído para projetos de software

O desenvolvimento de projetos de software está a cada dia que passa mais colaborativo e integrado. Nesse artigo veremos como funciona um sistema de controle de versão VCS/SCM, abordando de forma mais ostensiva os sistemas de controle distribuído, mais detalhadamente o GIT, uma poderosa ferramenta criada por Linux Torvalds e bastante apropriada para o gerenciamento e controle de códigos fontes.

[ Hits: 75.674 ]

Por: Gleudson Junior em 13/02/2010 | Blog: http://www.gleudsonjunior.blogspot.com/


Introdução ao Git



Enquadrada a um sistema de controle de versão distribuído (DVCS) podemos encontrar uma aplicação bastante eficiente, que tende a propor diversos recursos a fim de sanar os problemas supracitados, estamos falando do projeto Git.

Ele é um projeto de Software Livre, liberado sob a licença GPL*, que foi inicialmente criado por Linus Torvalds**, visando o controle e desenvolvimento dos códigos fontes do Kernel Linux, hoje ele é mantido por Junio Hamano. O grande objetivo do Git é atender a todas as exigências do modelo de desenvolvimento do Kernel Linux, tais como manipulação de grandes conjuntos de arquivos, desenvolvimento de projeto distribuído, operação de ramificações e mesclagens (merges) complexas, integridade do código, desempenho, entre outras.

Cada diretório local de desenvolvimento Git é tido como um repositório, onde se encontra todo histórico de desenvolvimento dos commits locais e a capacidade de controle das revisões do código, tudo isso sem a dependência de um acesso direto a uma rede ou a um único servidor central.

O desenho inicial do Git foi inspirado por outras duas aplicações de controle de versão: o Bitkeeper, e o Monotone. Seu projeto original possuía uma arquitetura com um mecanismo de funcionamento bastante abstrato, difícil para a compreensão de desenvolvedores iniciantes. Com a evolução e a aparição de novas necessidades, o projeto original acabou se tornando em um sistema de controle de versão completo, que passou a ser adotado por empresas de alto nível.

São inúmeros projetos de software que hoje empregam o Git para o controle de versão de código, podendo citar como principais exemplos: Android, Btrfs da Oracle, Gnome, Google, Kernel Linux, Perl, Qt (toolkit), Ruby on Rails, Samba, Servidor X.org.

________________________________________
* GPL: acrônimo de Gnu General Public License
** Linus Torvalds: criador do kernel Linux

Página anterior     Próxima página

Páginas do artigo
   1. Introdução a VCS/SCM
   2. Entendendo seu funcionamento
   3. Controle de versionamento centralizado
   4. Controle de versionamento distribuído
   5. Introdução ao Git
   6. Por que o Git?
   7. Utilização básica do Git
   8. Conclusão
Outros artigos deste autor

Transformando seu Ubuntu Hardy em OSX Leopard

Protegendo o ESB: Conceitos e técnicas de segurança para empresas de serviços web críticos

Criando dispositivos RAID via software no Linux

Proxy Squid com autenticação + Sarg + Webmin

Leitura recomendada

Introdução e administração de pontos de restauração no openSUSE

Fazendo particionamento avançado no Debian

NTFS-3g: Leitura e gravação em NTFS com segurança? Ainda não!

Criando dispositivos RAID via software no Linux

Raid 1 com mdadm

  
Comentários
[1] Comentário enviado por mbmaciel em 13/02/2010 - 12:34h

Excelente artigo!

[2] Comentário enviado por isaque_alves em 13/02/2010 - 12:44h

Muito bom mesmo... merece nota 10...

[3] Comentário enviado por corvolino em 13/02/2010 - 21:47h

Estava procurando algo sobre git e achei por acaso em destaque aqui,favoritado!

Assim que tiver tempo irei ler tudo com prazer,gratz

[4] Comentário enviado por luizvieira em 15/02/2010 - 06:23h

Excelente artigo. Parabéns!

[5] Comentário enviado por gleudson junior em 17/02/2010 - 15:19h

Pessoal,

Só uma correção no link para download do artigo em PDF.

Link correto:

http://docs.google.com/fileview?id=0B9IwEgNkSODyMTMwMzViYTQtYzJmYi00YTg4LThiMzMtMzgyZmQ3Y2EwMzM0&hl=...


[6] Comentário enviado por albfneto em 19/02/2010 - 12:42h

Muito bom artigo. coloquei nos favoritos, porque uso Sabayon , Gentoo e Funtoo e eles usam muito GIT.

[7] Comentário enviado por HelderC em 25/10/2010 - 10:21h

Excelente artigo.

Só uma correção: Quando você dá o comando: $ sudo apt-get install git giltk

O último pacote que vc disse giltk não seria gitk?

[8] Comentário enviado por gabrielsimas em 11/11/2010 - 16:53h

Rapaz, que artigo excelente, eu estava mesmo precisando de uma elucidação "RFC-Like", meus parabens, estou usando-o como referência. Caso você tenha algum tempo disponível, poderia compartilhar conosco uma atualização deste seu artigo. Você inclusive me encorajou a escrever um artigo sobre Desenvolvimento.

Abraços e sucesso!

[9] Comentário enviado por gleudson junior em 03/01/2011 - 21:32h

@HelderC

vc tem razão! Foi um erro na digitação

@gabrielsimas

Os arquivos ligados ao artigo estão em:

Artigo: https://docs.google.com/uc?export=download&id=0B9IwEgNkSODyN2Y2MjVmYjItY2I4Mi00Nzc1LWJjODktNWZlYTk4O...

Apresentação: https://docs.google.com/uc?export=download&id=0B9d9yvBQOo7EN2I4Nzg3ZjYtYWVjNS00NjRiLWFhNzItY2Q0NDVlO...

[10] Comentário enviado por israelborgess em 17/01/2011 - 01:46h

Gleudson, estou com uma dúvida quanto ao GIT, gostaria se possivel da sua ajuda:
Estou tendo dificuldade em criar grupos de repositorios com as permissões. Teoricamente eu entendi que quando preciso criar um novo projeto eu edito o arquivo gitosis.conf e crio com a seguinte estrutura:

[gitosis]

[group gitosis-admin]
writable = gitosis-admin
members = local@root

[group Desenvolvimento]
writable = Desenvolvimento
members = usuario@term00208n

Sendo que a chave pública o "usuario" com permissão de escrita no diretorio à ser criado terá que estar dentro do diretorio keydir. Entendi tambem que as permissões são realizadas atraves destas chaves públicas de cada usuário. Mas acontece que neste exemplo, digamos que eu tenha outro usuário, usuario2@term001213. Este usuário não teria acesso a este projeto. Porém quando eu clono o diretorio gitosis-admin.git eu consigo logo apos alterar os arquivos deste projeto e executar um "push" logo em seguida. Não tendo permissões para isso!! Não sei se fui claro, mas este usuario2 não deveria ter a permissão neste projeto mas tem!


[11] Comentário enviado por albfneto em 17/08/2013 - 21:53h

sou novo no GIT. estou tentando hospedar minhas isos Sabayon no GITORIUS.

crio o meu diretorio Git loca tudo, no gitorisu ja crier meu repo, agora quero começar a usar, que seria "clonar" meu repo local, para o site Gitorius, mas

o site Gitorius fala para eu executar um comando para configurar o GIT, quando eu faço:

# git checkout master

no meu diretorio local, o git (feito com git init) vem uma mensagem de que o comando acima, só funciona num diretorio de trabalho.


[12] Comentário enviado por morvan em 25/08/2016 - 22:20h

Boa noite.
Gleudson Junior, estava eu à cata de rudimentos sobre o GIT, por estar no rol de cursandos justamente sobre referido software (aquela mania que alguns de nós possuem, de ir ao curso já um pouco munidos, para melhor se situar). Encontrei Elo para este estupendo artigo. Parabéns. Minucioso. Essencial.
Morvan, Usuário GNU-Linux #433640. Seja Legal; seja Livre. Use GNU-Linux.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts