Guia de Utilização do Git

Guia de Utilização do Git

O Git é um sistema de controle de versão livre e gratuito para gerenciar o código fonte dos seus projetos. Assim como outros sistemas deste tipo, o Git permite que você mantenha um histórico das alterações realizadas no seu aplicativo, permite que você separe a implementação de novas funcionalidades e a correção de bugs na sua versão em produção, além de auxiliar na gestão do seu projeto. Neste post vou explicar como instalar e como utilizar as funções principais do Git. Apenas para complementar vou falar um pouco do GitHub também.

Uma diferença importante em relação a maioria dos sistemas de controle de versão é que cada usuário de um repositório Git possui todo o histórico de alterações. Muitos sistemas possuem um servidor central, de onde você busca e confirma suas alterações – para verificar o histórico você necessita de acesso a este servidor. No caso do Git você tem tudo o que precisa no seu repositório local. Você acessa outros repositórios apenas para sincronizar as alterações de outras pessoas com as suas.

Instalação

A instalação do Git é bem simples. Visite o site http://git-scm.com/ para downloads e instruções adicionais.

Linux

No Linux não existe a necessidade de baixar nada do site, você pode utilizar a linha de comando diretamente.

Debian/Ubuntu

Em distribuições derivadas do Debian, utilize o apt-get. Pode ser necessário utilizar sudo antes do comando.

Fedora

Windows

No Windows a instalação é bem simples também. Basta fazer o download do instalador e executá-lo. Será iniciado o assistente de instalação. Não altere nenhuma das opções padrão, a não ser que você saiba o que está fazendo. O instalado vai criar dois aplicativos, Git GUI e Git Bash. O Git GUI é uma pequena interface para alguns comandos, enquanto o Git Bash é um utilitário de linha de comando que permite que você trabalhe da mesma maneira que no Linux sem necessidade de alterar o PATH do Windows (você pode alterar no momento da instalação se quiser).

Mac

Para fazer a instalação no Mac, basta fazer o download e executar o arquivo. Execute o assistente e você está pronto.

Comandos

Agora vamos ao que interessa. O Git tem diversos comandos, mas as principais funcionalidades são criar/clonar repositórios, adicionar/confirmar nossas alterações, buscar/enviar (sincronizar) alterações para outros repositórios e criar/mesclar ramificações.

Criar / Clonar

Para que o código fonte possa ser controlado é necessário criar um repositório do Git. Esse repositório deve ser criado dentro do diretório onde está o seu código – será criado um sub-diretório .git com as informações das versões.

Criar um novo repositório:

Clonar um repositório local:

Clonar um repositório remoto:

Você pode clonar repositórios do Github usando “git clone https://github.com/usuario/repositorio.git” ou “git clone git@github.com:usuario/repositorio.git”.

Adicionar / Confirmar

Quando você cria um novo arquivo ou modifica um arquivo que seja controlado pelo Git, você precisa adicionar essas mudanças para que elas sejam confirmadas no próximo commit. Se você iniciar um novo repositório com arquivos já existentes, significa que todos os arquivos são novos, então precisa adicionar todos eles antes do commit.

Adicionar modificações de um arquivo:

Adicionar todos os arquivos (muito usado após o git init):

Realizar o commit (confirmação) das alterações:

Sincronizar

Quando fazemos o commit estamos confirmado essa alteração apenas localmente – no nosso repositório. Para trabalharmos com outras pessoas precisamos sincronizar nossas alterações com outros repositórios. Isso implica enviar nossas alterações e também buscar os commits de outras pessoas.

Conectar nosso repositório a um repositório remoto (origin é o nome que vamos dar para o repositório remoto):

Enviar alterações para o servidor remoto (origin é o repositório remoto e master é a ramificação):

Buscar alterações do servidor remoto:

O git pull faz um git fetch (busca o código) e um git merge (mescla a ramificação) de uma vez só. É mais prático, mas você deve tomar cuidado para não fazer o pull da ramificação errada, ou o Git vai atualizar seu código com o código errado.

Ramificações

Para finalizar os comandos básicos, um grande benefício de um sistema de controle de versão é o uso de ramos (branches). Você pode manter seu código principal no branch master e fazer novos desenvolvimentos no branch dev. Isso permite que você corrija eventuais bugs direto no branch master e atualize seu servidor de produção com este branch, sem se preocupar com os novos desenvolvimentos que existem em dev.

Criando uma ramificação (branch):

Trocar para o ramo master (você sempre estará trabalhando com um ramo de cada vez, podendo trocar qual o ramo está sendo modificado):

Remover um branch:

Mesclar as alterações de um ramo em outro ramo (se estamos em dev e queremos copiar as alterações feitas em master):

Ver diferenças entre dois ramos:

GitHub

Um dos grandes atrativos do Git é a existência do GitHub. Se você não conhece ainda, tem alguma coisa errada. O GitHub é um repositório de código fonte onde você pode compartilhar seu código abertamente (existem muitos projetos open source no GitHub) ou não, utilizando repositórios privados para a sua empresa. Desta maneira diversas pessoas podem trabalhar no mesmo código mesmo estando em locais completamente diferentes.

Você pode criar seu próprio servidor de repositórios Git, mas o GitHub oferece alguns serviços adicionais como controle de atividades (issues – podem ser erros, funcionalidades novas, etc). Cada atividade recebe um número único. No momento em que um desenvolvedor fizer um commit do seu código, ele pode associar o número desta atividade para que você possa verificar exatamente o que foi feito. Ele ainda oferece uma série de funcionalidades “sociais” para você que deseja compartilhar seu código abertamente.

Último commit feito no projeto do jQuery

Interfaces Gráficas

Existem vários aplicativos que permitem trabalhar com o Git através de interfaces gráficas, sem a necessidade de digitar todos os comandos manualmente. Esses aplicativos implementam as funcionalidades em uma interface gráfica, facilitando a sua vida. Aliás, qualquer bom editor de código já é integrado ao Git (NetBeans, KomodoIDE, etc). Uma lista de GUIs esá em http://git-scm.com/downloads/guis.

Conclusão

Se você ainda não utiliza um sistema de controle de versão, o Git é uma boa alternativa para mudar isso. Para quem trabalha em equipe e precisa controlar o que é feito no seu aplicativo (quem não precisa?), o Git é uma ótima alternativa.  Mesmo que você trabalhe sozinho ter esse controle é muito importante. É uma garantia de que você vai conseguir voltar atrás caso necessário.

Links

Alguns links interessantes para você que quer aprender a utilizar o Git:

Deixe uma resposta

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