[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ] [ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ próximo ]


Guia Foca GNU/Linux
Capítulo 45 - Git, controle de versões



45.1 Sobre o Git

Sistema de controle de versão, distribuído sob a versão 2 da GNU Public License, foi criado originalmente para ser o sistema de controle de versões do Kernel Linux. Seu desenvolvedor foi o próprio Linus Torvalds, criador do Kernel Linux. Inicialmente o Git foi uma alternativa ao software proprietário BitKeeper.

Conceitualmente o Git trabalha com branches, merges, commits e histórico de desenvolvimento.

Branches são ramificações do repositório pai. Merges são as mesclas entre o repositório pai e os filhos. Commit é a ação de enviar para o repositório filho, ou pai, as modificações locais.

O Git trabalha com quatro diretórios:


45.2 Características e critérios

São características do Git :

Os critérios para o projeto do Git foram:

Sobre o merge, o Git trabalha com três formas para mesclar os projetos:

O Git é um projeto portável, possuíndo compatibilidade com sistemas operacionais UNIX Like, Windows e Mac.


45.3 Comandos do Git

Existem várias GUIs para o Git, por padrão, a interface do Git é o gitk, que deve ser chamdo via terminal a partir do diretório versionado ou que será versionado. Para chamar o gitk :

     $ gitk

Porém, é possível utilizar o git diretamente no terminal.

Criar novo repositório, a partir de um diretório local:

     $ git init

Obter um repositório, local, remoto ou na internet:

     $ git clone caminho

Adicionar todos arquivos do diretório no Stage:

     $ git add

Adicionar arquivo específico no Stage:

     $ git add arquivo

Commitando as alterações dos arquivos adicionados:

     $ git commit -m "breve comentário a respeito das alterações".

Enviar as alterações commitadas para o repositório remoto:

     $ git push origin

Enviar as alterações commitadas para o repositório remoto específico: (substituir master pelo nome do branche (repositório)

     $ git push origin master

Atualizar o repositório local com novas modificações do repositório remoto:

     $ git pull

Mesclar alterações locais com alterações do repositório remoto:

     $ git merge nome_do_branch

* Nos casos acima do Git tenta fazer o merge (junção) automaticamente, nem sempre é possível. Nesses casos é criado um conflito que deve ser resolvido. O usuário é o responsável por corrir esses conflitos para poder enviar o arquivo para o repositório remoto. com o comando git add.

Visualizar as diferenças entre arquivos :

     $ git diff branch_de_origem branch_de_destino

Voltar ao último commit :

     $ git reset --hard HEAD~1

Desfazer alterações de arquivo no Stage:

     $ git checkout -- nome_do_arquivo

Visualizar log:

     $ git log

Rótulos : * Criar rótulos é importante, por exemplo, para gerar releases de software, ou para marcar grandes alterações no ciclo de desenvolvimento do projeto. Criar um rótulo:

     $ git tag 0.0.1 8h7g6f5e4d

* 8h7g6f5e4d são os dez primeiros caractéres do ID do commit a ser referenciado pelo rótulo. É possível obter o id com o comando git log. * É possível omitir o id do commit.

Enviar rótulo para o respositório remoto:

     $ git push origin 0.0.1

Enviar todos os rótulos para o respositório remoto:

     $ git push --tag

Criar branch a partir de um rótulo

     $ git checkout -b nome_do_branch 0.0.1

Usar saídas coloridas:

     $ git config color.ui true

[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ] [ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ próximo ]


Guia Foca GNU/Linux

Versão 4.22 - domingo, 05 de setembro de 2010

Gleydson Mazioli da Silva mailto:gleydson@guiafoca.org