Git: controlando versão de seus programas

O Git é um dos sistemas de controle de versão mais utilizados, principalmente em projetos de Software Livre. O SVN (Subversion) também é muito utilizado para controle de versão, mais frequentemente em ambiente Windows.

Pretendo mostrar o básico sobre o Git, como criar repositórios, fazer commits, voltar para versão anterior (reverter). Além disso, citarei alguns links interessantes com mais conteúdo sobre Git.

É muito comum trabalhar com repositórios remotos, hospedados em servidores como o GitHub. Outra forma é trabalhar com um repositório local, quando estamos fazendo um trabalho de faculdade, desenvolvendo um software etc.

Vou mostrar como criar repositórios locais. Tutoriais sobre GitHub já existem aos montes pela Internet. O próprio site do GitHub já mostra como proceder para usar repositórios remotos.

Para iniciar um repositório local:

$ git init

Esse comando inicia um repositório no diretório corrente. Um diretório oculto, chamado .git, será criado com as informações do repositório.

A qualquer momento é possível executar o comando abaixo, que exibe o status do repositório, ou seja, mostra se há arquivos modificados, arquivos prontos para serem “commitados” etc:

$ git status

Para ver o log de commits, usa-se o comando:

$ git log

Para adicionar arquivos ao controle de versão:

$ git add arquivo1.txt arquivo2.txt [...]

Outra possibilidade é adicionar todos os arquivos do diretório atual:

$ git add .

Após adicionar um arquivo ao controle de versão, é necessário fazer o commit dele:

$ git commit -m "mensagem do commit" arquivo1.txt arquivo2.txt [...]

Também é possível usar a opção -a, que faz o commit de todos os arquivos que foram modificados em relação ao último commit:

$ git commit -a -m "mensagem do commit"

O Git é um sistema de controle de versão. Logo, é evidente que é possível desfazer mudanças. Se você percebeu que cometeu um erro em um arquivo commitado (ou um cliente odiou a última modificação que você fez no site dele :P ), é possível reverter o repositório para a versão anterior. Para isso, usa-se o comando:

$ git revert HEAD

Esse comando cria um novo commit, que ignora o último commit realizado, voltando o repositório à versão anterior ao commit problemático.

Para remover um arquivo do controle de versão:

$ git rm arquivo1.txt arquivo2.txt [...]

Lembrando que sempre é necessário fazer commit após adição ou remoção de arquivos do controle de versão:

Caso você tenha modificado um arquivo – sem dar commit nele – e deseja voltar à versão dele para a versão do commit mais recente, execute:

$ git reset --hard

Isso também vale para quando se remove um diretório e se deseja obtê-lo novamente do repositório.

Abaixo estão alguns links muito bons sobre Git, que me auxiliaram bastante quando comecei a mexer com esse sistema de controle de versão.

Git by examples
http://sysmonblog.co.uk/misc/git_by_example

Video-aula sobre git
http://vimeo.com/20299469

Git para quem conhece SVN
https://git.wiki.kernel.org/index.php/GitSvnCrashCourse

Documentação e Tutorial oficial do Git:
http://git-scm.com/documentation

E para aqueles que insistem em usar um “Sistema Operacional” de segunda linha… :P

Git no Windows
http://nathanj.github.com/gitguide/tour.html

The following two tabs change content below.
Graduado em Ciência da Computação, pela Universidade Federal do Paraná (UFPR), é desenvolvedor de software desde 2008, com foco em Desenvolvimento Web com PHP.