Criação de um repositório local

Adição de arquivos e primeiro commit

Vamos começar da maneira mais simples possível. Para isso, crie um projeto qualquer. Vamos exemplificar criando um projeto usando Ruby on Rails e transformando-o em um repositório Git. Para isso, é necessário Ruby on Rails 3 devidamente configurado. Então, abra um terminal e faça:

$ rails new git_na_pratica
create
create  README
create  Rakefile
create  config.ru
create  .gitignore
create  Gemfile
create  app
create  app/controllers/application_controller.rb
(...)
create  tmp/pids
create  vendor/plugins
create  vendor/plugins/.gitkeep

Entre no diretório do projeto e inicie o repositório com o comando 'git init':

$ cd git_na_pratica/
$ git init
Initialized empty Git repository in /home/desenvolvimento/git_na_pratica/.git/

Você pode encontrar um diretório .git agora dentro de seu diretório. É nesse diretório que o Git guarda todas as informações, diferente do SVN e do CVS, que criam uma pasta para cada pasta de seu projeto.

$ ls -la
total 80
drwxr-xr-x 13 usuario grupo 4096 2010-11-09 22:12 .
drwxr-xr-x  6 usuario grupo 4096 2010-11-09 22:12 ..
drwxr-xr-x  7 usuario grupo 4096 2010-11-09 22:12 app
drwxr-xr-x  5 usuario grupo 4096 2010-11-09 22:12 config
-rw-r--r--  1 usuario grupo  155 2010-11-09 22:12 config.ru
drwxr-xr-x  2 usuario grupo 4096 2010-11-09 22:12 db
drwxr-xr-x  2 usuario grupo 4096 2010-11-09 22:12 doc
-rw-r--r--  1 usuario grupo  665 2010-11-09 22:12 Gemfile
-rw-r--r--  1 usuario grupo   40 2010-11-09 22:12 .gitignore
drwxr-xr-x  3 usuario grupo 4096 2010-11-09 22:12 lib
drwxr-xr-x  2 usuario grupo 4096 2010-11-09 22:12 log
drwxr-xr-x  5 usuario grupo 4096 2010-11-09 22:12 public
-rw-r--r--  1 usuario grupo  265 2010-11-09 22:12 Rakefile
-rw-r--r--  1 usuario grupo 9130 2010-11-09 22:12 README
drwxr-xr-x  2 usuario grupo 4096 2010-11-09 22:12 script
drwxr-xr-x  7 usuario grupo 4096 2010-11-09 22:12 test
drwxr-xr-x  6 usuario grupo 4096 2010-11-09 22:12 tmp
drwxr-xr-x  3 usuario grupo 4096 2010-11-09 22:12 vendor

Note que o Rails 3 já cria um arquivo '.gitignore' para nós, mas isso veremos mais adiante.

A partir deste momento o nosso projeto esta sendo monitorado pelo Git. Se executarmos o comando 'git status' teremos a seguinte informação:

    # On branch master
    #
    # Initial commit
    #
    # Untracked files:
    #   (use "git add <file>..." to include in what will be committed)
    #
    #    .gitignore
    #    Gemfile
    #    README
    #    Rakefile
    #    app/
    #    config.ru
    #    config/
    #    db/
    #    doc/
    #    lib/
    #    public/
    #    script/
    #    test/
    #    vendor/
    nothing added to commit but untracked files present (use "git add" to track)

O Git é extremamento intuitivo e explicativo. Ele nos informa que estamos no branch master e que possuimos arquivos e diretórios não monitorados (Untracked files). Vamos falar sobre branchs mais a frente, não se preocupe com isso agora.

Mesmo o Git monitorando o diretório raiz de seu projeto ainda não informamos quais arquivos e diretório queremos monitorar. Para começarmos a monitorar devemos usar o comando "git add". Existem duas formas:

    * "git add <file>" - Adiciona apenas o arquivo ou diretório, recursivamente, mencionado.
    * "git add ." - Adiciona todos os arquivos e diretórios não monitorados da pasta onde estamos, recursivamente.

Vamos agora realizar o primeiro commit de nosso projeto. Para começar vamos adicionar todos os arquivos da pasta com o comando git add . (ou git add --all). [Esse comando informa ao git que desejamos adicionar ao controle de versão todos os arquivos e diretórios da pasta onde estamos, recursivamente.]

$ git add .

Depois vamos realizar o primeiro commit utilizando o comando git commit -a -m "Primeiro Commit". A opção -a (ou --all)indica que o commit será para todos os arquivos modificados, renomeados ou apagados. Para arquivos novos você deve obrigatóriamente usar o git add antes do git commit. Já a opção -m informa a mensagem de commit.

Ao invés de git commit -a -m "Primeiro Commit" também é possível usar git commit -am "Primeiro Commit".

$ git commit -am "Primeiro Commit"
[master (root-commit) 6316e12] Primeiro Commit
42 files changed, 8461 insertions(+), 0 deletions(-)
create mode 100644 README
create mode 100644 Rakefile
create mode 100644 app/controllers/application_controller.rb
create mode 100644 app/helpers/application_helper.rb
create mode 100644 config/boot.rb
create mode 100644 config/database.yml
[......]
create mode 100644 test/performance/browsing_test.rb
create mode 100644 test/test_helper.rb

Para ver o seu commit use git log. Você verá uma listagem com a mensagem de commit, o autor e outros dados.

$ git log
commit 6316e121fa36b01bb17e437b5a596bf53d1fbe3c
Author: Marcelo Castellani <castellani@castellani-desktop.(none)>
Date:   Tue Jul 27 10:11:16 2010 -0300

Primeiro Commit

Se executarmos novamente o 'git status' veremos que continuamos no branch master e que não temos nenhum arquivo modificado ou não monitorado.[Outro comando muito útil é o git status, que mostra quais arquivos foram modificados e em qual branch estamos trabalhando. Vamos falar sobre branchs mais a frente, não se preocupe com isso agora.]

$ git status
# On branch master
nothing to commit (working directory clean)

results matching ""

    No results matching ""